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 {
34  public:
35  using MVACollection = std::vector<float>;
36  using QualityMaskCollection = std::vector<unsigned char>;
37 
40  void initHisto(DQMStore::IBooker & ibooker, const edm::ParameterSet&);
41  void analyze
42  (
43  const edm::Event& iEvent,
44  const edm::EventSetup& iSetup,
45  const TrajectorySeed& seed,
46  const reco::BeamSpot& bs,
47  const edm::ESHandle<MagneticField>& theMF,
49  );
50  void analyze
51  (
52  const edm::Event& iEvent,
53  const edm::EventSetup& iSetup,
54  const TrackCandidate& candidate,
55  const reco::BeamSpot& bs,
56  const edm::ESHandle<MagneticField>& theMF,
58  );
59  void analyze
60  (
62  const std::vector<const MVACollection *>& mvaCollections,
63  const std::vector<const QualityMaskCollection *>& qualityMaskCollections
64  );
65 
66  private:
67 
68  void fillHistos(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
70 
71  // ----------member data ---------------------------
72 
73  // Track Seeds
85 
86  // Track Candidate
98 
102 
103  std::vector<MonitorElement *> trackMVAs;
104  std::vector<MonitorElement *> trackMVAsHP;
105  std::vector<MonitorElement *> trackMVAsVsPtProfile;
106  std::vector<MonitorElement *> trackMVAsHPVsPtProfile;
107  std::vector<MonitorElement *> trackMVAsVsEtaProfile;
108  std::vector<MonitorElement *> trackMVAsHPVsEtaProfile;
109 
110  std::string histname; //for naming the histograms according to algorithm used
111 
112  //to disable some plots
115  bool doTCPlots;
117  bool doPT;
118  bool doETA;
119  bool doPHI;
121  bool doTheta;
122  bool doQ;
123  bool doDxy;
124  bool doDz;
126  bool doProfPHI;
127  bool doProfETA;
130 };
131 #endif
MonitorElement * NumberOfRecHitsPerTrackCandVsPhiProfile
MonitorElement * TrackCandPt
std::vector< unsigned char > QualityMaskCollection
std::vector< MonitorElement * > trackMVAsHPVsEtaProfile
MonitorElement * TrackCandDz
std::vector< MonitorElement * > trackMVAsVsPtProfile
MonitorElement * stoppingSourceVSphi
std::vector< MonitorElement * > trackMVAsVsEtaProfile
MonitorElement * TrackCandPhi
void initHisto(DQMStore::IBooker &ibooker, const edm::ParameterSet &)
MonitorElement * TrackCandPhiVsEta
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
MonitorElement * TrackCandDxy
std::vector< MonitorElement * > trackMVAsHP
MonitorElement * TrackCandEta
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
void fillHistos(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
MonitorElement * NumberOfRecHitsPerSeedVsEtaProfile
MonitorElement * NumberOfRecHitsPerTrackCand