Program Listing for File VtxHists.h¶
↰ Return to documentation for file (xAODAnaHelpers/VtxHists.h
)
#ifndef xAODAnaHelpers_VtxHists_H
#define xAODAnaHelpers_VtxHists_H
#include "xAODAnaHelpers/HistogramManager.h"
#include <xAODTracking/TrackParticleContainer.h>
#include <xAODTracking/VertexContainer.h>
#include <xAODTracking/Vertex.h>
#include <xAODTracking/TrackParticle.h>
ANA_MSG_HEADER(msgVtxHists)
class VtxHists : public HistogramManager
{
public:
VtxHists(std::string name, std::string detailStr );
~VtxHists();
StatusCode initialize();
StatusCode execute( const xAOD::VertexContainer* vtxs, float eventWeight );
StatusCode execute( const xAOD::Vertex *vtx, float eventWeight );
// Use tracks passed in to calculate isolated track quantities
StatusCode execute( const xAOD::VertexContainer* vtxs, const xAOD::TrackParticleContainer* trks, float eventWeight );
StatusCode execute( const xAOD::Vertex *vtx, const xAOD::TrackParticleContainer* trks, float eventWeight );
using HistogramManager::book; // make other overloaded versions of book() to show up in subclass
using HistogramManager::execute; // overload
protected:
// bools to control which histograms are filled
bool m_fillTrkDetails;
bool m_fillIsoTrkDetails;
bool m_fillDebugging;
bool m_fillTrkPtDetails;
private:
float getIso( const xAOD::TrackParticle *inTrack, const xAOD::TrackParticleContainer* trks, float z0_cut = 2, float cone_size = 0.2);
// Histograms
TH1F* h_type ;
TH1F* h_nTrks ;
TH1F* h_nTrks_l ;
TH1F* h_trk_Pt ;
TH1F* h_trk_Pt_l ;
TH1F* h_nTrks1GeV ;
TH1F* h_nTrks2GeV ;
TH1F* h_nTrks5GeV ;
TH1F* h_nTrks10GeV ;
TH1F* h_nTrks15GeV ;
TH1F* h_nTrks20GeV ;
TH1F* h_nTrks25GeV ;
TH1F* h_nTrks30GeV ;
TH1F* h_pt_miss_x ;
TH1F* h_pt_miss_x_l ;
TH1F* h_pt_miss_y ;
TH1F* h_pt_miss_y_l ;
TH1F* h_pt_miss ;
TH1F* h_pt_miss_l ;
// Pt of the nth track
unsigned int m_nLeadTrackPts ;
std::vector<TH1F*> h_trk_max_Pt ;
std::vector<TH1F*> h_trk_max_Pt_l ;
TH1F* h_trkIsoAll ;
TH1F* h_trkIso ;
TH1F* h_nIsoTrks ;
TH1F* h_nIsoTrks_l ;
TH1F* h_IsoTrk_Pt ;
TH1F* h_IsoTrk_Pt_l ;
TH1F* h_nIsoTrks1GeV ;
TH1F* h_nIsoTrks2GeV ;
TH1F* h_nIsoTrks5GeV ;
TH1F* h_nIsoTrks10GeV ;
TH1F* h_nIsoTrks15GeV ;
TH1F* h_nIsoTrks20GeV ;
TH1F* h_nIsoTrks25GeV ;
TH1F* h_nIsoTrks30GeV ;
TH1F* h_dZ0Before ;
TH1F* h_pt_miss_iso_x ;
TH1F* h_pt_miss_iso_x_l ;
TH1F* h_pt_miss_iso_y ;
TH1F* h_pt_miss_iso_y_l ;
TH1F* h_pt_miss_iso ;
TH1F* h_pt_miss_iso_l ;
// Pt of the nth track
unsigned int m_nLeadIsoTrackPts ;
std::vector<TH1F*> h_IsoTrk_max_Pt ;
std::vector<TH1F*> h_IsoTrk_max_Pt_l ;
};
#endif