CMS 3D CMS Logo

BDHadronTrackMonitoringAnalyzer.h
Go to the documentation of this file.
1 #ifndef BDHadronTrackMonitoringAnalyzer_H
2 #define BDHadronTrackMonitoringAnalyzer_H
3 
10 
13 
20 
24 
28 
36 
37 #include <iostream>
38 #include <fstream>
39 
40 using namespace reco;
41 using namespace edm;
42 using namespace std;
43 
44 
45 
54 class BDHadronTrackMonitoringAnalyzer : public DQMEDAnalyzer {
55  public:
57 
59 
60  virtual void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
61  virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
62 
63 
64  enum HistoryClasses{ BCWeakDecay=0, BWeakDecay=1, CWeakDecay=2, PU=3, Other=4, Fake=5};
65  static const std::vector<std::string> TrkHistCat;
66 
67  private:
68 
69  //cut values
70  double distJetAxis_;
71  double decayLength_;
72  double minJetPt_;
73  double maxJetEta_;
74 
75  // strings
77 
78  // InputTags
83 
84  // Tokens
89 
90  // TrackClassifier
92 
93 
94  // Histograms
95  // b jets
96  MonitorElement *nTrkAll_bjet; // total number of selected tracks (or TrackingParticles)
97  MonitorElement *nTrk_bjet[6]; // total number of selected tracks (or TrackingParticles) in each TrackHistory category
98  // c jets
99  MonitorElement *nTrkAll_cjet; // total number of selected tracks (or TrackingParticles)
100  MonitorElement *nTrk_cjet[6]; // total number of selected tracks (or TrackingParticles) in each TrackHistory category
101  // dusg jets
102  MonitorElement *nTrkAll_dusgjet; // total number of selected tracks (or TrackingParticles)
103  MonitorElement *nTrk_dusgjet[6]; // total number of selected tracks (or TrackingParticles) in each TrackHistory category
104 
105  // track properties for all flavours combined
106  MonitorElement *TrkPt_alljets[6], *TrkTruthPt_alljets[5]; // Pt of selected tracks (or TrackingParticles)
107  MonitorElement *TrkEta_alljets[6], *TrkTruthEta_alljets[5]; // Eta of selected tracks (or TrackingParticles)
108  MonitorElement *TrkPhi_alljets[6], *TrkTruthPhi_alljets[5]; // Phi of selected tracks (or TrackingParticles)
109  MonitorElement *TrkDxy_alljets[6], *TrkTruthDxy_alljets[5]; // Transverse IP of selected tracks (or TrackingParticles)
110  MonitorElement *TrkDz_alljets[6], *TrkTruthDz_alljets[5]; // Longitudinal IP of selected tracks (or TrackingParticles)
111  MonitorElement *TrkHitAll_alljets[6], *TrkTruthHitAll_alljets[5]; // total number Tracker hits of selected tracks (or TrackingParticles)
112  MonitorElement *TrkHitStrip_alljets[6], *TrkTruthHitStrip_alljets[5]; // number of strip hits of of selected tracks (or TrackingParticles)
113  MonitorElement *TrkHitPixel_alljets[6], *TrkTruthHitPixel_alljets[5]; // number of pixel hits of selected tracks (or TrackingParticles)
114 
115 
116 };
117 
118 
119 #endif
edm::EDGetTokenT< ClusterTPAssociation > clusterTPMapToken_
def analyze(function, filename, filter=None)
Definition: Profiling.py:11
edm::EDGetTokenT< reco::TrackCollection > TrackCollectionTag_
edm::EDGetTokenT< reco::VertexCollection > PrimaryVertexColl_
void bookHistograms(fwlite::EventContainer &eventCont)
edm::EDGetTokenT< pat::JetCollection > PatJetCollectionTag_
int iEvent
Definition: GenABIO.cc:230
static const std::vector< std::string > TrkHistCat
Get track history and classify it in function of their .
fixed size matrix
HLT enums.
Definition: Run.h:43