CMS 3D CMS Logo

dEdxHitAnalyzer.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 
26 
31 
33 
35 public:
36  explicit dEdxHitAnalyzer(const edm::ParameterSet&);
37  ~dEdxHitAnalyzer() override;
38 
39  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
40 
41  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
42  double harmonic2(const reco::DeDxHitInfo* dedxHits);
43  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
44  void dqmBeginRun(const edm::Run&, const edm::EventSetup&) override;
45 
46 private:
47  // ----------member data ---------------------------
50 
53 
54  struct dEdxMEs {
59 
60  dEdxMEs() : ME_StripHitDeDx(nullptr), ME_PixelHitDeDx(nullptr), ME_NHitDeDx(nullptr), ME_Harm2DeDx(nullptr) {}
61  };
62 
65 
66  std::vector<std::string> dEdxInputList_;
67  std::vector<edm::EDGetTokenT<reco::DeDxHitInfoAss> > dEdxTokenList_;
68 
70  std::vector<std::string> AlgoNames;
71  std::vector<dEdxMEs> dEdxMEsVector;
72  std::string histname; //for naming the histograms according to algorithm used
73 
75 
77 
79  double dEdxNHitMin;
80  double dEdxNHitMax;
81 
83  double dEdxStripMin;
84  double dEdxStripMax;
85 
87  double dEdxPixelMin;
88  double dEdxPixelMax;
89 
91  double dEdxHarm2Min;
92  double dEdxHarm2Max;
93 };
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
MonitorElement * ME_NHitDeDx
#define nullptr
void dqmBeginRun(const edm::Run &, const edm::EventSetup &) override
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
std::vector< std::string > dEdxInputList_
MonitorElement * ME_StripHitDeDx
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
~dEdxHitAnalyzer() override
std::string histname
std::vector< dEdxMEs > dEdxMEsVector
int iEvent
Definition: GenABIO.cc:224
dEdxHitAnalyzer(const edm::ParameterSet &)
edm::InputTag trackInputTag_
GenericTriggerEventFlag * genTriggerEventFlag_
edm::ParameterSet fullconf_
std::vector< edm::EDGetTokenT< reco::DeDxHitInfoAss > > dEdxTokenList_
double harmonic2(const reco::DeDxHitInfo *dedxHits)
MonitorElement * ME_PixelHitDeDx
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
std::string TrackName
std::vector< std::string > AlgoNames
MonitorElement * ME_Harm2DeDx
edm::ParameterSet conf_
std::string MEFolderName
Definition: Run.h:45