CMS 3D CMS Logo

dEdxAnalyzer.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 //
3 //
7 // Original Author: Loic Quertenmont 2012/07/25
8 
9 #include <memory>
10 #include <fstream>
11 
16 
20 
22 
25 
29 
31 
32 class DQMStore;
34 
35 class dEdxAnalyzer : public DQMEDAnalyzer {
36  public:
37  explicit dEdxAnalyzer(const edm::ParameterSet&);
38  ~dEdxAnalyzer() override;
39 
40  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
41 
42  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
43  void endJob() override;
44  double mass(double P, double I);
45 
46  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
47 
48  private:
49  // ----------member data ---------------------------
53 
56 
57  struct dEdxMEs
58  {
66 
68  :ME_MipDeDx(nullptr)
69  ,ME_MipDeDxNHits(nullptr)
70  ,ME_MipDeDxNSatHits(nullptr)
71  ,ME_MipDeDxMass(nullptr)
72  ,ME_HipDeDxMass(nullptr)
73  ,ME_MipHighPtDeDx(nullptr)
74  ,ME_MipHighPtDeDxNHits(nullptr)
75  {}
76  };
77 
79  double dEdxK, dEdxC;
80 
83 
84  std::vector<std::string> dEdxInputList_;
85  std::vector<edm::EDGetTokenT<reco::DeDxDataValueMap> > dEdxTokenList_;
86 
88  std::vector< std::string > AlgoNames;
89  std::vector< dEdxMEs > dEdxMEsVector;
90  std::string histname; //for naming the histograms according to algorithm used
91 
93 
94 };
MonitorElement * ME_MipHighPtDeDxNHits
Definition: dEdxAnalyzer.h:65
double HighPtThreshold
Definition: dEdxAnalyzer.h:78
~dEdxAnalyzer() override
Definition: dEdxAnalyzer.cc:40
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Definition: dEdxAnalyzer.h:82
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
double dEdxC
Definition: dEdxAnalyzer.h:79
double TrackHitMin
Definition: dEdxAnalyzer.h:78
MonitorElement * ME_MipDeDx
Definition: dEdxAnalyzer.h:59
MonitorElement * ME_HipDeDxMass
Definition: dEdxAnalyzer.h:63
std::vector< std::string > AlgoNames
Definition: dEdxAnalyzer.h:88
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
edm::ParameterSet conf_
Definition: dEdxAnalyzer.h:52
#define nullptr
double dEdxK
Definition: dEdxAnalyzer.h:79
dEdxAnalyzer(const edm::ParameterSet &)
Definition: dEdxAnalyzer.cc:22
void endJob() override
Definition: dEdxAnalyzer.cc:48
int iEvent
Definition: GenABIO.cc:230
std::vector< std::string > dEdxInputList_
Definition: dEdxAnalyzer.h:84
MonitorElement * ME_MipDeDxNSatHits
Definition: dEdxAnalyzer.h:61
MonitorElement * ME_MipDeDxNHits
Definition: dEdxAnalyzer.h:60
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:92
edm::ParameterSet fullconf_
Definition: dEdxAnalyzer.h:51
const std::complex< double > I
Definition: I.h:8
bool doAllPlots_
Definition: dEdxAnalyzer.h:54
bool doDeDxPlots_
Definition: dEdxAnalyzer.h:55
edm::InputTag trackInputTag_
Definition: dEdxAnalyzer.h:81
std::vector< dEdxMEs > dEdxMEsVector
Definition: dEdxAnalyzer.h:89
double mass(double P, double I)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: dEdxAnalyzer.cc:70
DQMStore * dqmStore_
Definition: dEdxAnalyzer.h:50
std::pair< OmniClusterRef, TrackingParticleRef > P
MonitorElement * ME_MipHighPtDeDx
Definition: dEdxAnalyzer.h:64
double HIPdEdxMin
Definition: dEdxAnalyzer.h:78
std::string histname
Definition: dEdxAnalyzer.h:90
std::vector< edm::EDGetTokenT< reco::DeDxDataValueMap > > dEdxTokenList_
Definition: dEdxAnalyzer.h:85
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
MonitorElement * ME_MipDeDxMass
Definition: dEdxAnalyzer.h:62
std::string TrackName
Definition: dEdxAnalyzer.h:87
Definition: Run.h:44