CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DeDxDiscriminatorProducer.h
Go to the documentation of this file.
1 #ifndef TrackRecoDeDx_DeDxDiscriminatorProducer_H
2 #define TrackRecoDeDx_DeDxDiscriminatorProducer_H
3 
9 
13 
17 
23 
27 
29 
32 
33 
34 #include "TH3F.h"
35 #include "TChain.h"
36 
37 #include <ext/hash_map>
38 
39 
40 // using namespace edm;
41 // using namespace reco;
42 // using namespace std;
43 // using namespace __gnu_cxx;
44 
45 
46 
47 
49 
50 public:
51 
54 
55 private:
56  virtual void beginRun(edm::Run const& run, const edm::EventSetup&) override;
57  virtual void produce(edm::Event&, const edm::EventSetup&) override;
58  virtual void endStream() override;
59 
60  double GetProbability(const SiStripCluster* cluster, TrajectoryStateOnSurface trajState,const uint32_t &);
61  double ComputeDiscriminator (std::vector<double>& vect_probs);
62  int ClusterSaturatingStrip(const SiStripCluster* cluster,const uint32_t &);
63  void MakeCalibrationMap();
64 
65 
66 
67  // ----------member data ---------------------------
70 
71  bool usePixel;
72  bool useStrip;
75 
78  bool shapetest;
79 
80 
82 
84 
87  double MinTrackEta;
88  double MaxTrackEta;
89  unsigned int MaxNrStrips;
90  unsigned int MinTrackHits;
92 
93  unsigned int Formula;
96 
97 
99 
100 
101 
102  private :
103  struct stModInfo{int DetId; int SubDet; float Eta; float R; float Thickness; int NAPV; double Gain;};
104 
105  class isEqual{
106  public:
107  template <class T> bool operator () (const T& PseudoDetId1, const T& PseudoDetId2) { return PseudoDetId1==PseudoDetId2; }
108  };
109 
110  __gnu_cxx::hash_map<unsigned int, stModInfo*, __gnu_cxx::hash<unsigned int>, isEqual > MODsColl;
111 };
112 
113 #endif
114 
virtual void produce(edm::Event &, const edm::EventSetup &) override
__gnu_cxx::hash_map< unsigned int, stModInfo *, __gnu_cxx::hash< unsigned int >, isEqual > MODsColl
const TrackerGeometry * m_tracker
double GetProbability(const SiStripCluster *cluster, TrajectoryStateOnSurface trajState, const uint32_t &)
edm::EDGetTokenT< reco::TrackCollection > m_tracksTag
edm::EDGetTokenT< TrajTrackAssociationCollection > m_trajTrackAssociationTag
DeDxDiscriminatorProducer(const edm::ParameterSet &)
virtual void beginRun(edm::Run const &run, const edm::EventSetup &) override
PhysicsTools::Calibration::HistogramD3D DeDxMap_
int ClusterSaturatingStrip(const SiStripCluster *cluster, const uint32_t &)
double ComputeDiscriminator(std::vector< double > &vect_probs)
long double T
bool operator()(const T &PseudoDetId1, const T &PseudoDetId2)
Definition: Run.h:41