CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
TrackAnalyzer.h
Go to the documentation of this file.
1 #ifndef TrackAnalyzer_H
2 #define TrackAnalyzer_H
3 // -*- C++ -*-
4 //
5 //
9 // Original Author: Suchandra Dutta, Giorgia Mila
10 // Created: Thu 28 22:45:30 CEST 2008
11 
12 #include <memory>
13 #include <fstream>
23 
27 
28 class DQMStore;
29 
30 class BeamSpot;
32 {
33  public:
36  virtual ~TrackAnalyzer();
37  virtual void initHisto(DQMStore::IBooker & ibooker);
38 
39  virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup, const reco::Track& track);
40 
41  void doSoftReset (DQMStore * dqmStore_);
42  void doReset ();
43  void undoSoftReset(DQMStore * dqmStore_);
44  void setLumiFlag();
45 
46  private:
47  void initHistos();
48  void fillHistosForState(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
49  void bookHistosForState(std::string sname,DQMStore::IBooker & ibooker);
54  void fillHistosForHitProperties(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
55  void fillHistosForLScertification(const edm::EventSetup& iSetup, const reco::Track & track, std::string sname);
56  void fillHistosForTrackerSpecific(const reco::Track & track);
57 
58  // ----------member data ---------------------------
60 
63 
65 
68  bool doBSPlots_;
69  bool doPVPlots_;
75  // ADD by Mia
81  // ADD by Mia in order to clean the tracking MEs
82  // do not plot *Theta* and TrackPx* and TrackPy*
85  // ADD by Mia in order to not plot DistanceOfClosestApproach w.r.t. (0,0,0)
86  // the DistanceOfClosestApproach w.r.t. the beam-spot is already shown in DistanceOfClosestApproachToBS
89 
91 
92  // ADD by Mia in order to turnON test MEs
94 
95  //For HI Plots
96  bool doHIPlots_;
97 
98  // IP significance plots
100 
102 
103  struct TkParameterMEs {
105  TrackP(NULL)
106  , TrackPx(NULL)
107  , TrackPy(NULL)
108  , TrackPz(NULL)
109  , TrackPt(NULL)
110 
111  , TrackPxErr(NULL)
112  , TrackPyErr(NULL)
113  , TrackPzErr(NULL)
114  , TrackPtErr(NULL)
115  , TrackPErr(NULL)
116 
118 
119  , TrackQ(NULL)
120 
121  , TrackPhi(NULL)
122  , TrackEta(NULL)
123  , TrackTheta(NULL)
124 
125  , TrackPhiErr(NULL)
126  , TrackEtaErr(NULL)
128 
133 
138 
143 
148 
153 
157 
161 
165  {}
166 
172 
178 
180 
182 
186 
190 
195 
200 
205 
210 
215 
219 
223 
227 
228  };
229  std::map<std::string, TkParameterMEs> TkParameterMEMap;
230 
231 
237 
238 
243 
248 
253 
258 
263 
264 
265 
266  MonitorElement* NumberOfLayersPerTrack[4] = {nullptr,nullptr,nullptr,nullptr};
267 
271 
272  MonitorElement* NumberOfLayersVsPhiVsEtaPerTrack[4]= {nullptr,nullptr,nullptr,nullptr};
273 
277 
281 
285 
308  // TESTING MEs
311 
312  // add by Mia in order to deal w/ LS transitions
315 
316  //new plots for Heavy Ion DQM
324 
325  // IP significance plots
332 
340 
343  };
344  std::map<std::string, TkRecHitsPerSubDetMEs> TkRecHitsPerSubDetMEMap;
345 
346 
347 
348  std::string histname; //for naming the histograms according to algorithm used
349 };
350 #endif
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
MonitorElement * Chi2ProbVsPhi
MonitorElement * NumberOfLayersPerTrackVsPhi
MonitorElement * NumberOfLostRecHitsPerTrackVsPhi
MonitorElement * DistanceOfClosestApproachToPVVsPhi
MonitorElement * NumberOfLostRecHitsPerTrackVsEta
MonitorElement * NumberOfLostRecHitsPerTrackVsEta
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
bool doTrackerSpecific_
Definition: TrackAnalyzer.h:66
void fillHistosForTrackerSpecific(const reco::Track &track)
MonitorElement * NumberOfRecHitsPerTrackVsEta
void bookHistosForLScertification(DQMStore::IBooker &ibooker)
MonitorElement * NumberOfLostRecHitsPerTrackVsTheta
MonitorElement * NumberOfValidRecHitsPerTrack
void fillHistosForHitProperties(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
MonitorElement * Chi2oNDF_lumiFlag
MonitorElement * xPointOfClosestApproachToPV
MonitorElement * NumberOfLayersPerTrackVsPhi
MonitorElement * sip3dToPV
MonitorElement * NumberOfMORecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfLostRecHitsPerTrack
edm::ParameterSet conf_
Definition: TrackAnalyzer.h:64
bool doGeneralPropertiesPlots_
Definition: TrackAnalyzer.h:71
void fillHistosForLScertification(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
MonitorElement * Chi2oNDFVsPhi
MonitorElement * Chi2ProbVsPhi
MonitorElement * NumberOfMIRecHitsPerTrackVsPhi
MonitorElement * NumberOfLostRecHitVsPhiVsEtaPerTrack
MonitorElement * DistanceOfClosestApproachVsPhi
#define NULL
Definition: scimark2.h:8
MonitorElement * sipDzToBS
std::map< std::string, TkParameterMEs > TkParameterMEMap
MonitorElement * NumberOfLayersPerTrack[4]
MonitorElement * NhitVsPhi_HighPurity
MonitorElement * NumberOfRecHitsPerTrackVsTheta
MonitorElement * algorithm
bool doHitPropertiesPlots_
Definition: TrackAnalyzer.h:73
MonitorElement * DistanceOfClosestApproach
bool doRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:74
MonitorElement * NumberOfLayersPerTrackVsTheta
MonitorElement * NumberOfRecHitsPerTrack_lumiFlag
std::map< std::string, TkRecHitsPerSubDetMEs > TkRecHitsPerSubDetMEMap
MonitorElement * NumberOfValidRecHitVsPhiVsEtaPerTrack
bool doMeasurementStatePlots_
Definition: TrackAnalyzer.h:72
MonitorElement * NumberOfRecHitsPerTrack
MonitorElement * NumberOfLayersVsPhiVsEtaPerTrack[4]
MonitorElement * NumberOfMIRecHitsPerTrackVsEta
MonitorElement * TESTDistanceOfClosestApproachToBSVsPhi
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
bool doTrack2DChi2Plots_
Definition: TrackAnalyzer.h:79
MonitorElement * Chi2ProbVsTheta
MonitorElement * Chi2oNDFVsEta
MonitorElement * TransDCASig
int iEvent
Definition: GenABIO.cc:230
MonitorElement * NumberOfMIRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * xPointOfClosestApproachVsZ0wrt000
std::string qualityString_
MonitorElement * oriAlgo
bool doDCAwrt000Plots_
Definition: TrackAnalyzer.h:88
MonitorElement * NumberOfRecHitsPerTrackVsTheta
MonitorElement * NumberOfLostRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfMIRecHitVsPhiVsEtaPerTrack
MonitorElement * xPointOfClosestApproach
MonitorElement * Chi2oNDFVsTheta
MonitorElement * NumberOfMIRecHitsPerTrack
bool doTrackLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:78
MonitorElement * NumberOfValidRecHitsPerTrackVsEta
MonitorElement * NumberOfRecHitsPerTrackVsPhi
MonitorElement * dNdPt_HighPurity
std::string TopFolder_
Definition: TrackAnalyzer.h:59
MonitorElement * xPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfValidRecHitsPerTrackVsPhi
MonitorElement * dNdPhi_HighPurity
MonitorElement * NumberOfLostRecHitsPerTrackVsTheta
MonitorElement * NumberOfValidRecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfMIRecHitsPerTrackVsPhi
MonitorElement * yPointOfClosestApproachToPV
MonitorElement * Chi2ProbVsTheta
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * NumberOfMORecHitsPerTrackVsTheta
MonitorElement * sip2dToPV
MonitorElement * NumberOfMORecHitsPerTrackVsEta
MonitorElement * Chi2oNDFVsTheta
MonitorElement * sipDzToPV
MonitorElement * sipDxyToBS
MonitorElement * TrackThetaErr
void bookHistosForHitProperties(DQMStore::IBooker &ibooker)
MonitorElement * DistanceOfClosestApproachVsEta
MonitorElement * zPointOfClosestApproachVsPhi
MonitorElement * NumberOfLayersPerTrackVsEta
MonitorElement * dNdEta_HighPurity
MonitorElement * NumberOfLayersPerTrackVsTheta
void bookHistosForTrackerSpecific(DQMStore::IBooker &ibooker)
void fillHistosForState(const edm::EventSetup &iSetup, const reco::Track &track, std::string sname)
MonitorElement * Chi2
virtual ~TrackAnalyzer()
bool doLumiAnalysis_
Definition: TrackAnalyzer.h:90
MonitorElement * NumberOfLayersPerTrackVsEta
MonitorElement * NumberOfValidRecHitsPerTrackVsTheta
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
Definition: TrackAnalyzer.h:61
MonitorElement * sipDxyToPV
virtual void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup, const reco::Track &track)
MonitorElement * xPointOfClosestApproachVsZ0wrtPV
MonitorElement * NumberOfMORecHitsPerTrackVsTheta
MonitorElement * yPointOfClosestApproachVsZ0wrtBS
MonitorElement * NumberOfMORecHitsPerTrackVsPhi
MonitorElement * DistanceOfClosestApproachVsTheta
void bookHistosForBeamSpot(DQMStore::IBooker &ibooker)
MonitorElement * NumberOfLayersPerTrackVsEta
virtual void initHisto(DQMStore::IBooker &ibooker)
MonitorElement * NumberOfMIRecHitsPerTrackVsTheta
bool doDCAwrtPVPlots_
Definition: TrackAnalyzer.h:87
MonitorElement * Chi2ProbVsEta
MonitorElement * zPointOfClosestApproachToPV
MonitorElement * DistanceOfClosestApproachToPV
bool doTrackPxPyPlots_
Definition: TrackAnalyzer.h:84
MonitorElement * NumberOfRecHitVsPhiVsEtaPerTrack
MonitorElement * DistanceOfClosestApproachToBSVsPhi
bool doLayersVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:76
MonitorElement * NhitVsEta_HighPurity
void doSoftReset(DQMStore *dqmStore_)
bool doTrackRecHitVsPhiVsEtaPerTrack_
Definition: TrackAnalyzer.h:77
MonitorElement * NumberOfMORecHitsPerTrackVsPhi
MonitorElement * yPointOfClosestApproachVsZ0wrt000
MonitorElement * TrackPtErrVsEta
MonitorElement * TESTDistanceOfClosestApproachToBS
MonitorElement * NumberOfMIRecHitsPerTrackVsTheta
MonitorElement * NumberOfRecHitsPerTrackVsEta
MonitorElement * NumberOfValidRecHitsPerTrackVsTheta
void bookHistosForState(std::string sname, DQMStore::IBooker &ibooker)
MonitorElement * yPointOfClosestApproach
MonitorElement * NumberOfMIRecHitsPerTrackVsEta
bool doRecHitsPerTrackProfile_
Definition: TrackAnalyzer.h:80
MonitorElement * Chi2Prob
MonitorElement * yPointOfClosestApproachVsZ0wrtPV
MonitorElement * zPointOfClosestApproach
TrackAnalyzer(const edm::ParameterSet &)
MonitorElement * NumberOfLostRecHitsPerTrackVsPhi
MonitorElement * Chi2ProbVsEta
MonitorElement * NumberOfMORecHitsPerTrackVsEta
MonitorElement * DistanceOfClosestApproachToBS
MonitorElement * Chi2oNDF
std::string histname
MonitorElement * Chi2oNDFVsEta
void undoSoftReset(DQMStore *dqmStore_)
MonitorElement * NumberOfMORecHitVsPhiVsEtaPerTrack
MonitorElement * NumberOfMORecHitsPerTrack
MonitorElement * NumberOfLayersPerTrackVsPhi
MonitorElement * LongDCASig
edm::EDGetTokenT< reco::VertexCollection > pvToken_
Definition: TrackAnalyzer.h:62
MonitorElement * Chi2oNDFVsPhi