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 #include <memory>
14 #include <fstream>
23 
34 
36 
38 {
39  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
47  (
48  const edm::Event& iEvent,
49  const edm::EventSetup& iSetup,
50  const TrajectorySeed& seed,
51  const SeedStopInfo& stopInfo,
52  const reco::BeamSpot& bs,
53  const edm::ESHandle<MagneticField>& theMF,
55  );
56  void analyze
57  (
58  const edm::Event& iEvent,
59  const edm::EventSetup& iSetup,
60  const TrackCandidate& candidate,
61  const reco::BeamSpot& bs,
62  const edm::ESHandle<MagneticField>& theMF,
64  );
65  void analyze
66  (
68  const std::vector<const MVACollection *>& mvaCollections,
69  const std::vector<const QualityMaskCollection *>& qualityMaskCollections
70  );
71  void analyze
72  (
73  const reco::CandidateView& regionCandidates
74  );
75  void analyze
76  (
77  const edm::OwnVector<TrackingRegion>& regions
78  );
79  void analyze
80  (
81  const TrackingRegionsSeedingLayerSets& regions
82  );
83 
84  private:
85 
86  void fillHistos(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
88 
89  template <typename T>
90  void analyzeRegions(const T& regions);
91 
92  // ----------member data ---------------------------
93 
94  // Regions covered by tracking regions
98  double etaBinWidth = 0.;
99  double phiBinWidth = 0.;
100  // Candidates used for tracking regions
105 
106  // Track Seeds
107  MonitorElement* SeedPt = nullptr;
112  MonitorElement* SeedQ = nullptr;
114  MonitorElement* SeedDz = nullptr;
118 
122 
126 
128 
129  // Track Candidate
141 
145 
146  std::vector<MonitorElement *> trackMVAs;
147  std::vector<MonitorElement *> trackMVAsHP;
148  std::vector<MonitorElement *> trackMVAsVsPtProfile;
149  std::vector<MonitorElement *> trackMVAsHPVsPtProfile;
150  std::vector<MonitorElement *> trackMVAsVsEtaProfile;
151  std::vector<MonitorElement *> trackMVAsHPVsEtaProfile;
152 
153  std::string histname; //for naming the histograms according to algorithm used
154 
155  //to disable some plots
156  const bool doAllPlots;
157  const bool doAllSeedPlots;
158  const bool doTCPlots;
159  const bool doAllTCPlots;
160  const bool doPT;
161  const bool doETA;
162  const bool doPHI;
163  const bool doPHIVsETA;
164  const bool doTheta;
165  const bool doQ;
166  const bool doDxy;
167  const bool doDz;
168  const bool doNRecHits;
169  const bool doProfPHI;
170  const bool doProfETA;
171  const bool doStopSource;
172  const bool doMVAPlots;
173  const bool doRegionPlots;
175 };
176 #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 edm::ESHandle< MagneticField > &theMF, const edm::ESHandle< TransientTrackingRecHitBuilder > &theTTRHBuilder)
std::vector< MonitorElement * > trackMVAsHPVsEtaProfile
std::vector< MonitorElement * > trackMVAsVsPtProfile
MonitorElement * stoppingSourceVSphi
std::vector< MonitorElement * > trackMVAsVsEtaProfile
void initHisto(DQMStore::IBooker &ibooker, const edm::ParameterSet &)
MonitorElement * TrackCandPhiVsEta
MonitorElement * TrackingRegionCandidatePt
MonitorElement * NumberOfRecHitsPerTrackCandVsEtaProfile
MonitorElement * stoppingSource
MonitorElement * NumberOfRecHitsPerSeed
int iEvent
Definition: GenABIO.cc:230
MonitorElement * NumberOfRecHitsPerSeedVsPhiProfile
void analyzeRegions(const T &regions)
std::vector< MonitorElement * > trackMVAsHP
MonitorElement * numberOfTrajCandsPerSeedVsPhi
MonitorElement * TrackingRegionPhi
TrackBuildingAnalyzer(const edm::ParameterSet &)
MonitorElement * numberOfTrajCandsPerSeedVsEta
std::vector< MonitorElement * > trackMVAs
MonitorElement * TrackingRegionPhiVsEta
MonitorElement * stoppingSourceVSeta
MonitorElement * TrackingRegionEta
void bookHistos(std::string sname, DQMStore::IBooker &ibooker)
std::vector< float > MVACollection
MonitorElement * TrackCandTheta
std::vector< MonitorElement * > trackMVAsHPVsPtProfile
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
MonitorElement * seedStoppingSource