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 
31 
33 
35 {
36  public:
37  using MVACollection = std::vector<float>;
38  using QualityMaskCollection = std::vector<unsigned char>;
39 
42  void initHisto(DQMStore::IBooker & ibooker, const edm::ParameterSet&);
43  void analyze
44  (
45  const edm::Event& iEvent,
46  const edm::EventSetup& iSetup,
47  const TrajectorySeed& seed,
48  const reco::BeamSpot& bs,
49  const edm::ESHandle<MagneticField>& theMF,
51  );
52  void analyze
53  (
54  const edm::Event& iEvent,
55  const edm::EventSetup& iSetup,
56  const TrackCandidate& candidate,
57  const reco::BeamSpot& bs,
58  const edm::ESHandle<MagneticField>& theMF,
60  );
61  void analyze
62  (
64  const std::vector<const MVACollection *>& mvaCollections,
65  const std::vector<const QualityMaskCollection *>& qualityMaskCollections
66  );
67  void analyze
68  (
69  const reco::CandidateView& regionCandidates
70  );
71 
72  private:
73 
74  void fillHistos(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
76 
77  // ----------member data ---------------------------
78 
79  // Candidates used for tracking regions
84 
85  // Track Seeds
97 
98  // Track Candidate
110 
114 
115  std::vector<MonitorElement *> trackMVAs;
116  std::vector<MonitorElement *> trackMVAsHP;
117  std::vector<MonitorElement *> trackMVAsVsPtProfile;
118  std::vector<MonitorElement *> trackMVAsHPVsPtProfile;
119  std::vector<MonitorElement *> trackMVAsVsEtaProfile;
120  std::vector<MonitorElement *> trackMVAsHPVsEtaProfile;
121 
122  std::string histname; //for naming the histograms according to algorithm used
123 
124  //to disable some plots
127  bool doTCPlots;
129  bool doPT;
130  bool doETA;
131  bool doPHI;
133  bool doTheta;
134  bool doQ;
135  bool doDxy;
136  bool doDz;
138  bool doProfPHI;
139  bool doProfETA;
143 };
144 #endif
MonitorElement * NumberOfRecHitsPerTrackCandVsPhiProfile
MonitorElement * TrackCandPt
std::vector< unsigned char > QualityMaskCollection
MonitorElement * TrackingRegionCandidatePhiVsEta
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
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const TrajectorySeed &seed, const reco::BeamSpot &bs, const edm::ESHandle< MagneticField > &theMF, const edm::ESHandle< TransientTrackingRecHitBuilder > &theTTRHBuilder)
int iEvent
Definition: GenABIO.cc:230
MonitorElement * NumberOfRecHitsPerSeedVsPhiProfile
std::vector< MonitorElement * > trackMVAsHP
TrackBuildingAnalyzer(const edm::ParameterSet &)
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
void fillHistos(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
MonitorElement * TrackingRegionCandidatePhi
MonitorElement * NumberOfRecHitsPerSeedVsEtaProfile
MonitorElement * NumberOfRecHitsPerTrackCand