CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
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 
25 
27 
28 class dEdxAnalyzer : public DQMEDAnalyzer {
29 public:
30  explicit dEdxAnalyzer(const edm::ParameterSet&);
31  ~dEdxAnalyzer() override;
32 
33  static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
34 
35  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
36  double mass(double P, double I);
37 
38  void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
39 
40 private:
41  // ----------member data ---------------------------
45 
48 
49  struct dEdxMEs {
57 
59  : ME_MipDeDx(nullptr),
60  ME_MipDeDxNHits(nullptr),
61  ME_MipDeDxNSatHits(nullptr),
62  ME_MipDeDxMass(nullptr),
63  ME_HipDeDxMass(nullptr),
64  ME_MipHighPtDeDx(nullptr),
65  ME_MipHighPtDeDxNHits(nullptr) {}
66  };
67 
69  double dEdxK, dEdxC;
70 
73 
74  std::vector<std::string> dEdxInputList_;
75  std::vector<edm::EDGetTokenT<reco::DeDxDataValueMap> > dEdxTokenList_;
76 
78  std::vector<std::string> AlgoNames;
79  std::vector<dEdxMEs> dEdxMEsVector;
80  std::string histname; //for naming the histograms according to algorithm used
81 
83 };
MonitorElement * ME_MipHighPtDeDxNHits
Definition: dEdxAnalyzer.h:56
double HighPtThreshold
Definition: dEdxAnalyzer.h:68
~dEdxAnalyzer() override
Definition: dEdxAnalyzer.cc:35
edm::EDGetTokenT< reco::TrackCollection > trackToken_
Definition: dEdxAnalyzer.h:72
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
double dEdxC
Definition: dEdxAnalyzer.h:69
double TrackHitMin
Definition: dEdxAnalyzer.h:68
MonitorElement * ME_MipDeDx
Definition: dEdxAnalyzer.h:50
MonitorElement * ME_HipDeDxMass
Definition: dEdxAnalyzer.h:54
Provides a code based selection for trigger and DCS information in order to have no failing filters i...
edm::ParameterSet conf_
Definition: dEdxAnalyzer.h:44
double dEdxK
Definition: dEdxAnalyzer.h:69
dEdxAnalyzer(const edm::ParameterSet &)
Definition: dEdxAnalyzer.cc:18
std::vector< std::string > AlgoNames
Definition: dEdxAnalyzer.h:78
int iEvent
Definition: GenABIO.cc:224
std::vector< std::string > dEdxInputList_
Definition: dEdxAnalyzer.h:74
MonitorElement * ME_MipDeDxNSatHits
Definition: dEdxAnalyzer.h:52
MonitorElement * ME_MipDeDxNHits
Definition: dEdxAnalyzer.h:51
GenericTriggerEventFlag * genTriggerEventFlag_
Definition: dEdxAnalyzer.h:82
edm::ParameterSet fullconf_
Definition: dEdxAnalyzer.h:43
const std::complex< double > I
Definition: I.h:8
bool doAllPlots_
Definition: dEdxAnalyzer.h:46
bool doDeDxPlots_
Definition: dEdxAnalyzer.h:47
edm::InputTag trackInputTag_
Definition: dEdxAnalyzer.h:71
double mass(double P, double I)
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
Definition: dEdxAnalyzer.cc:51
DQMStore * dqmStore_
Definition: dEdxAnalyzer.h:42
std::pair< OmniClusterRef, TrackingParticleRef > P
MonitorElement * ME_MipHighPtDeDx
Definition: dEdxAnalyzer.h:55
double HIPdEdxMin
Definition: dEdxAnalyzer.h:68
std::string histname
Definition: dEdxAnalyzer.h:80
std::vector< edm::EDGetTokenT< reco::DeDxDataValueMap > > dEdxTokenList_
Definition: dEdxAnalyzer.h:75
std::vector< dEdxMEs > dEdxMEsVector
Definition: dEdxAnalyzer.h:79
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
MonitorElement * ME_MipDeDxMass
Definition: dEdxAnalyzer.h:53
std::string TrackName
Definition: dEdxAnalyzer.h:77
Definition: Run.h:45