CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DeDxDiscriminatorLearner.h
Go to the documentation of this file.
1 #ifndef TrackRecoDeDx_DeDxDiscriminatorLearner_H
2 #define TrackRecoDeDx_DeDxDiscriminatorLearner_H
3 
8 
11 
15 
19 
21 
22 #include "TFile.h"
23 #include "TH3F.h"
24 #include <ext/hash_map>
25 
26 //using namespace edm;
27 //using namespace reco;
28 //using namespace std;
29 //using namespace __gnu_cxx;
30 
31 
32 class DeDxDiscriminatorLearner : public ConditionDBWriter<PhysicsTools::Calibration::HistogramD3D> {
33 
34 public:
35 
38 
39 private:
40  virtual void algoBeginJob(const edm::EventSetup&) ;
41  virtual void algoAnalyze(const edm::Event&, const edm::EventSetup&);
42  virtual void algoEndJob();
43 
44  void Learn(const SiStripCluster* cluster, TrajectoryStateOnSurface trajState);
45 
47 
48 
49  // ----------member data ---------------------------
52 
53  bool usePixel;
54  bool useStrip;
57 
59 
62  double MinTrackEta;
63  double MaxTrackEta;
64  unsigned int MaxNrStrips;
65  unsigned int MinTrackHits;
67 
68 
69  double P_Min;
70  double P_Max;
71  int P_NBins;
72  double Path_Min;
73  double Path_Max;
75  double Charge_Min;
76  double Charge_Max;
78 
79 
82 
84 
85 private :
86  struct stModInfo{int DetId; int SubDet; float Eta; float R; float Thickness; int NAPV; };
87 
88  class isEqual{
89  public:
90  template <class T> bool operator () (const T& PseudoDetId1, const T& PseudoDetId2) { return PseudoDetId1==PseudoDetId2; }
91  };
92 
93  __gnu_cxx::hash_map<unsigned int, stModInfo*, __gnu_cxx::hash<unsigned int>, isEqual > MODsColl;
94 };
95 
96 #endif
97 
const TrackerGeometry * m_tracker
void Learn(const SiStripCluster *cluster, TrajectoryStateOnSurface trajState)
bool operator()(const T &PseudoDetId1, const T &PseudoDetId2)
virtual void algoBeginJob(const edm::EventSetup &)
virtual void algoAnalyze(const edm::Event &, const edm::EventSetup &)
__gnu_cxx::hash_map< unsigned int, stModInfo *, __gnu_cxx::hash< unsigned int >, isEqual > MODsColl
edm::EDGetTokenT< TrajTrackAssociationCollection > m_trajTrackAssociationTag
edm::EDGetTokenT< reco::TrackCollection > m_tracksTag
long double T
PhysicsTools::Calibration::HistogramD3D * getNewObject()
DeDxDiscriminatorLearner(const edm::ParameterSet &)