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 
32 
34 
36 {
37  public:
38  using MVACollection = std::vector<float>;
39  using QualityMaskCollection = std::vector<unsigned char>;
40 
42  ~TrackBuildingAnalyzer() = default;
43  void initHisto(DQMStore::IBooker & ibooker, const edm::ParameterSet&);
44  void analyze
45  (
46  const edm::Event& iEvent,
47  const edm::EventSetup& iSetup,
48  const TrajectorySeed& seed,
49  const SeedStopInfo& stopInfo,
50  const reco::BeamSpot& bs,
51  const edm::ESHandle<MagneticField>& theMF,
53  );
54  void analyze
55  (
56  const edm::Event& iEvent,
57  const edm::EventSetup& iSetup,
58  const TrackCandidate& candidate,
59  const reco::BeamSpot& bs,
60  const edm::ESHandle<MagneticField>& theMF,
62  );
63  void analyze
64  (
66  const std::vector<const MVACollection *>& mvaCollections,
67  const std::vector<const QualityMaskCollection *>& qualityMaskCollections
68  );
69  void analyze
70  (
71  const reco::CandidateView& regionCandidates
72  );
73 
74  private:
75 
76  void fillHistos(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
78 
79  // ----------member data ---------------------------
80 
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;
155 };
156 #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
std::vector< MonitorElement * > trackMVAsHP
MonitorElement * numberOfTrajCandsPerSeedVsPhi
TrackBuildingAnalyzer(const edm::ParameterSet &)
MonitorElement * numberOfTrajCandsPerSeedVsEta
std::vector< MonitorElement * > trackMVAs
MonitorElement * stoppingSourceVSeta
void bookHistos(std::string sname, DQMStore::IBooker &ibooker)
std::vector< float > MVACollection
MonitorElement * TrackCandTheta
MonitorElement * SeedPhiVsEta
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
MonitorElement * NumberOfRecHitsPerTrackCand
~TrackBuildingAnalyzer()=default
MonitorElement * seedStoppingSource