CMS 3D CMS Logo

TrackingMonitor.h
Go to the documentation of this file.
1 #ifndef TrackingMonitor_H
2 #define TrackingMonitor_H
3 // -*- C++ -*-
4 //
5 // Package: TrackingMonitor
6 // Class: TrackingMonitor
7 //
11 // Original Author: Suchandra Dutta, Giorgia Mila
12 // Created: Thu 28 22:45:30 CEST 2008
13 
14 #include <memory>
15 #include <fstream>
25 
29 
32 
34 
37 
39 
41 
42 namespace dqm {
43  class TrackAnalyzer;
44 }
46 class VertexMonitor;
47 class GetLumi;
48 class TProfile;
50 
52 {
53  public:
54  using MVACollection = std::vector<float>;
55  using QualityMaskCollection = std::vector<unsigned char>;
56 
57  explicit TrackingMonitor(const edm::ParameterSet&);
58  ~TrackingMonitor();
59  virtual void beginJob(void);
60 
61  virtual void setMaxMinBin(std::vector<double> & ,std::vector<double> & ,std::vector<int> & ,double, double, int, double, double, int);
62  virtual void setNclus(const edm::Event&, std::vector<int> & );
63 
64  virtual void beginLuminosityBlock(const edm::LuminosityBlock& lumi, const edm::EventSetup& eSetup) override;
65  virtual void analyze(const edm::Event&, const edm::EventSetup&) override;
66  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
67  // virtual void beginRun(const edm::Run&, const edm::EventSetup&);
68  virtual void endRun(const edm::Run&, const edm::EventSetup&) override;
69 
70  private:
71  void doProfileX(TH2 * th2, MonitorElement* me);
72  void doProfileX(MonitorElement * th2m, MonitorElement* me);
73 
74 
75  // ----------member data ---------------------------
76 
77  std::string histname; //for naming the histograms according to algorithm used
78 
79  // DQMStore * dqmStore_;
80 
82 
83  // the track analyzer
88 
93 
95 
100 
101  std::vector<std::tuple<edm::EDGetTokenT<MVACollection>, edm::EDGetTokenT<QualityMaskCollection> > > mvaQualityTokens_;
103 
106 
107 
110  std::vector<VertexMonitor*> theVertexMonitor;
112 
113  // Tracks
117 
118  // Good Tracks
120 
121  // Track Seeds
124  std::vector<MonitorElement *> SeedsVsClusters;
125  std::vector<std::string> ClusterLabels;
126 
127 
128  // Track Candidates
130 
131  // Cluster Properties
132  std::vector<MonitorElement*> NumberOfTrkVsClusters;
136 
137  // Monitoring vs LS
144 
145  // Monitoring vs BX
152 
154 
155  // Monitoring PU
164 
165  // Monitoring vs lumi
174 
175  // add in order to deal with LS transitions
177 
180 
195  // ADD by Mia in order to have GoodTrack plots only for collision
202 
204 
207  int pvNDOF_;
208 
209 };
210 
211 #endif //define TrackingMonitor_H
edm::EDGetTokenT< edm::View< reco::Track > > trackToken_
edm::EDGetTokenT< edm::View< TrajectorySeed > > seedToken_
std::vector< MonitorElement * > NumberOfTrkVsClusters
MonitorElement * FractionOfGoodTracks
MonitorElement * NumberOfTracksVsBX
MonitorElement * NumberOfRecHitsPerTrackVsBX
MonitorElement * NumberOfRecHitsPerTrackVsLUMI
MonitorElement * NumberEventsOfVsGoodPVtx
GetLumi * theLumiDetails_
def analyze(function, filename, filter=None)
Definition: Profiling.py:11
edm::InputTag pvSrc_
MonitorElement * GoodTracksFractionVsLUMI
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
MonitorElement * NumberOfPVtxVsGoodPVtx
MonitorElement * NumberOfMeanRecHitsPerTrack
MonitorElement * NumberOfTracksVsGoodPVtx
void bookHistograms(fwlite::EventContainer &eventCont)
MonitorElement * NumberOfStripClustersVsLUMI
MonitorElement * GoodTracksFractionVsLS
void beginJob()
Definition: Breakpoints.cc:15
edm::EDGetTokenT< edm::View< reco::Track > > mvaTrackToken_
std::string Quality_
MonitorElement * NumberOfGoodPVtxWO0VsLUMI
edm::InputTag bsSrc_
MonitorElement * NumberOfSeeds
MonitorElement * NumberOfGoodPVtxVsLS
edm::EDGetTokenT< edm::View< reco::Track > > allTrackToken_
MonitorElement * NumberOfGoodPVtxVsLUMI
MonitorElement * NumberOfTracksVsLS
MonitorElement * NumberOfGoodPVtxWO0VsLS
MonitorElement * NumberOfTracksVsPUPVtx
edm::EDGetTokenT< LumiScalersCollection > lumiscalersToken_
MonitorElement * NumberEventsOfVsBX
bool runTrackBuildingAnalyzerForSeed
MonitorElement * NumberOfStripClustersVsGoodPVtx
std::vector< MonitorElement * > SeedsVsClusters
MonitorElement * NumberOfPixelClustersVsGoodPVtx
dqm::TrackAnalyzer * theTrackAnalyzer
MonitorElement * NumberOfRecHitsPerTrackVsLS
MonitorElement * GoodTracksFractionVsGoodPVtx
MonitorElement * NumberOfRecHitsPerTrackVsGoodPVtx
std::string histname
edm::ParameterSetID confID_
MonitorElement * NumberOfPixelClustersVsLUMI
std::vector< VertexMonitor * > theVertexMonitor
MonitorElement * NumberOfTrkVsPixelClus
MonitorElement * NumberOfTracksVsBXlumi
edm::InputTag stripClusterInputTag_
bool doGeneralPropertiesPlots_
std::vector< unsigned char > QualityMaskCollection
TrackBuildingAnalyzer * theTrackBuildingAnalyzer
std::string AlgoName_
edm::EDGetTokenT< TrackCandidateCollection > trackCandidateToken_
MonitorElement * NumberOfMeanLayersPerTrack
StringCutObjectSelector< reco::Track, true > denSelection_
StringCutObjectSelector< reco::Track, true > numSelection_
GenericTriggerEventFlag * genTriggerEventFlag_
MonitorElement * GoodTracksFractionVsBX
edm::InputTag pixelClusterInputTag_
MonitorElement * NumberOfSeeds_lumiFlag
edm::ESHandle< TransientTrackingRecHitBuilder > theTTRHBuilder
MonitorElement * NumberOfTrackCandidates
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > pixelClustersToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiStripCluster > > stripClustersToken_
MonitorElement * NumberOfGoodPVtxVsBX
MonitorElement * NumberOfTrkVsStripClus
MonitorElement * NumberEventsOfVsLUMI
std::vector< std::tuple< edm::EDGetTokenT< MVACollection >, edm::EDGetTokenT< QualityMaskCollection > > > mvaQualityTokens_
MonitorElement * NumberOfTracks_lumiFlag
MonitorElement * NumberOfTrkVsClus
std::vector< float > MVACollection
edm::EDGetTokenT< reco::BeamSpot > bsSrcToken_
MonitorElement * NumberOfTracks
edm::EDGetTokenT< reco::VertexCollection > pvSrcToken_
Definition: Run.h:42
MonitorElement * NumberEventsOfVsLS
MonitorElement * NumberOfTracksVsLUMI
std::vector< std::string > ClusterLabels
MonitorElement * NumberOfGoodPVtxWO0VsBX
std::string builderName