CMS 3D CMS Logo

TrackBuildingAnalyzer.h
Go to the documentation of this file.
1 #ifndef TrackBuildingAnalyzer_H
2 #define TrackBuildingAnalyzer_H
3 // -*- C++ -*-
4 //
5 //
9 // Original Author: Ryan Kelley
10 // Created: Sat 28 13;30:00 CEST 2009
11 //
12 
13 // system includes
14 #include <memory>
15 #include <fstream>
16 
17 // user includes
35 
37 public:
40  using MVACollection = std::vector<float>;
41  using QualityMaskCollection = std::vector<unsigned char>;
42 
44  ~TrackBuildingAnalyzer() = default;
45  void initHisto(DQMStore::IBooker& ibooker, const edm::ParameterSet&);
46  void analyze(const edm::Event& iEvent,
47  const edm::EventSetup& iSetup,
48  const TrajectorySeed& seed,
49  const SeedStopInfo& stopInfo,
50  const reco::BeamSpot& bs,
51  const MagneticField& theMF,
52  const TransientTrackingRecHitBuilder& theTTRHBuilder);
53  void analyze(const edm::Event& iEvent,
54  const edm::EventSetup& iSetup,
55  const TrackCandidate& candidate,
56  const reco::BeamSpot& bs,
57  const MagneticField& theMF,
58  const TransientTrackingRecHitBuilder& theTTRHBuilder);
60  const std::vector<const MVACollection*>& mvaCollections,
61  const std::vector<const QualityMaskCollection*>& qualityMaskCollections);
62  void analyze(const reco::CandidateView& regionCandidates);
65 
66 private:
67  void fillHistos(const edm::EventSetup& iSetup, const reco::Track& track, std::string sname);
68  void bookHistos(std::string sname, DQMStore::IBooker& ibooker);
69 
70  template <typename T>
71  void analyzeRegions(const T& regions);
72 
73  // ----------member data ---------------------------
74 
75  // Regions covered by tracking regions
79  double etaBinWidth = 0.;
80  double phiBinWidth = 0.;
81  // Candidates used for tracking regions
86 
87  // Track Seeds
88  MonitorElement* SeedPt = nullptr;
89  MonitorElement* SeedEta = nullptr;
90  MonitorElement* SeedPhi = nullptr;
93  MonitorElement* SeedQ = nullptr;
94  MonitorElement* SeedDxy = nullptr;
95  MonitorElement* SeedDz = nullptr;
99 
103 
107 
109 
110  // Track Candidate
122 
126 
127  std::vector<MonitorElement*> trackMVAs;
128  std::vector<MonitorElement*> trackMVAsHP;
129  std::vector<MonitorElement*> trackMVAsVsPtProfile;
130  std::vector<MonitorElement*> trackMVAsHPVsPtProfile;
131  std::vector<MonitorElement*> trackMVAsVsEtaProfile;
132  std::vector<MonitorElement*> trackMVAsHPVsEtaProfile;
133 
134  std::string histname; //for naming the histograms according to algorithm used
135 
136  //to disable some plots
137  const bool doAllPlots;
138  const bool doAllSeedPlots;
139  const bool doTCPlots;
140  const bool doAllTCPlots;
141  const bool doPT;
142  const bool doETA;
143  const bool doPHI;
144  const bool doPHIVsETA;
145  const bool doTheta;
146  const bool doQ;
147  const bool doDxy;
148  const bool doDz;
149  const bool doNRecHits;
150  const bool doProfPHI;
151  const bool doProfETA;
152  const bool doStopSource;
153  const bool doMVAPlots;
154  const bool doRegionPlots;
156 };
157 #endif
MonitorElement * NumberOfRecHitsPerTrackCandVsPhiProfile
MonitorElement * seedStoppingSourceVsPhi
MonitorElement * numberOfTrajCandsPerSeed
std::vector< unsigned char > QualityMaskCollection
MonitorElement * TrackingRegionCandidatePhiVsEta
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const TrajectorySeed &seed, const SeedStopInfo &stopInfo, const reco::BeamSpot &bs, const MagneticField &theMF, const TransientTrackingRecHitBuilder &theTTRHBuilder)
std::vector< MonitorElement * > trackMVAsVsPtProfile
MonitorElement * stoppingSourceVSphi
void initHisto(DQMStore::IBooker &ibooker, const edm::ParameterSet &)
std::vector< MonitorElement * > trackMVAs
MonitorElement * TrackCandPhiVsEta
MonitorElement * TrackingRegionCandidatePt
dqm::legacy::DQMStore DQMStore
MonitorElement * NumberOfRecHitsPerTrackCandVsEtaProfile
MonitorElement * stoppingSource
MonitorElement * NumberOfRecHitsPerSeed
int iEvent
Definition: GenABIO.cc:224
MonitorElement * NumberOfRecHitsPerSeedVsPhiProfile
void analyzeRegions(const T &regions)
std::vector< MonitorElement * > trackMVAsHP
MonitorElement * numberOfTrajCandsPerSeedVsPhi
MonitorElement * TrackingRegionPhi
TrackBuildingAnalyzer(const edm::ParameterSet &)
std::vector< MonitorElement * > trackMVAsVsEtaProfile
MonitorElement * numberOfTrajCandsPerSeedVsEta
std::vector< MonitorElement * > trackMVAsHPVsEtaProfile
MonitorElement * TrackingRegionPhiVsEta
MonitorElement * stoppingSourceVSeta
MonitorElement * TrackingRegionEta
void bookHistos(std::string sname, DQMStore::IBooker &ibooker)
std::vector< MonitorElement * > trackMVAsHPVsPtProfile
std::vector< float > MVACollection
MonitorElement * TrackCandTheta
MonitorElement * SeedPhiVsEta
MonitorElement * TrackingRegionCandidateEta
MonitorElement * seedStoppingSourceVsEta
void fillHistos(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
MonitorElement * TrackingRegionCandidatePhi
MonitorElement * seedStoppingSourceVsNumberOfTrajCandsPerSeed
MonitorElement * NumberOfRecHitsPerSeedVsEtaProfile
long double T
MonitorElement * NumberOfRecHitsPerTrackCand
~TrackBuildingAnalyzer()=default
dqm::legacy::MonitorElement MonitorElement
MonitorElement * seedStoppingSource