CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DeDxDiscriminatorLearnerFromCalibTree.h
Go to the documentation of this file.
1 #ifndef TrackRecoDeDx_DeDxDiscriminatorLearnerFromCalibTree_H
2 #define TrackRecoDeDx_DeDxDiscriminatorLearnerFromCalibTree_H
3 
8 
11 
15 
19 
21 
22 #include "TFile.h"
23 #include "TH3F.h"
24 #include "TTree.h"
25 #include "TChain.h"
26 #include <ext/hash_map>
27 
28 //using namespace edm;
29 //using namespace reco;
30 //using namespace std;
31 //using namespace __gnu_cxx;
32 
33 
34 class DeDxDiscriminatorLearnerFromCalibTree : public ConditionDBWriter<PhysicsTools::Calibration::HistogramD3D> {
35 
36 public:
37 
40 
41 private:
42  virtual void algoBeginJob(const edm::EventSetup&) ;
43  virtual void algoAnalyze(const edm::Event&, const edm::EventSetup&);
44  virtual void algoEndJob();
45 
46  void algoAnalyzeTheTree();
47  void MakeCalibrationMap();
48 
50 
51 
52  // ----------member data ---------------------------
55 
56  bool usePixel;
57  bool useStrip;
60 
62 
65  double MinTrackEta;
66  double MaxTrackEta;
67  unsigned int MaxNrStrips;
68  unsigned int MinTrackHits;
70 
73 
74  std::vector<std::string> VInputFiles;
75 
76 
77  double P_Min;
78  double P_Max;
79  int P_NBins;
80  double Path_Min;
81  double Path_Max;
83  double Charge_Min;
84  double Charge_Max;
86 
87 
90 
92 
93 private :
94  struct stAPVInfo{int DetId; int SubDet; float Eta; float R; float Thickness; int APVId; double CalibGain;};
95 
96  class isEqual{
97  public:
98  template <class T> bool operator () (const T& PseudoDetId1, const T& PseudoDetId2) { return PseudoDetId1==PseudoDetId2; }
99  };
100 
101  __gnu_cxx::hash_map<unsigned int, stAPVInfo*, __gnu_cxx::hash<unsigned int>, isEqual > APVsColl;
102 };
103 
104 #endif
105 
edm::EDGetTokenT< reco::TrackCollection > m_tracksTag
PhysicsTools::Calibration::HistogramD3D * getNewObject()
edm::EDGetTokenT< TrajTrackAssociationCollection > m_trajTrackAssociationTag
__gnu_cxx::hash_map< unsigned int, stAPVInfo *, __gnu_cxx::hash< unsigned int >, isEqual > APVsColl
bool operator()(const T &PseudoDetId1, const T &PseudoDetId2)
long double T
virtual void algoAnalyze(const edm::Event &, const edm::EventSetup &)