CMS 3D CMS Logo

DeDxHitInfoProducer.h
Go to the documentation of this file.
1 #ifndef TrackRecoDeDx_DeDxHitInfoProducer_H
2 #define TrackRecoDeDx_DeDxHitInfoProducer_H
3 // user include files
4 
5 #include <memory>
6 
13 
17 
23 
26 
29 
30 //
31 // class declaration
32 //
33 
35 public:
36  explicit DeDxHitInfoProducer(const edm::ParameterSet&);
37  ~DeDxHitInfoProducer() override;
38 
39 private:
40  void beginRun(edm::Run const& run, const edm::EventSetup&) override;
41  void produce(edm::Event&, const edm::EventSetup&) override;
42 
44  void processHit(const TrackingRecHit* recHit, const float trackMomentum, const float cosine, reco::DeDxHitInfo& hitDeDxInfo, const LocalPoint& hitLocalPos);
45 
46  // ----------member data ---------------------------
47 
49 
50  const bool usePixel;
51  const bool useStrip;
52  const float MeVperADCPixel;
53  const float MeVperADCStrip;
54 
55  const unsigned int minTrackHits;
56  const float minTrackPt;
57  const float minTrackPtPrescale;
58  const float maxTrackEta;
59 
61  const bool useCalibration;
62  const bool shapetest;
63 
67 
68  std::vector< std::vector<float> > calibGains;
69  unsigned int m_off;
70 
72 
74  uint64_t x = state[0];
75  uint64_t const y = state[1];
76  state[0] = y;
77  x ^= x << 23; // a
78  state[1] = x ^ y ^ (x >> 17) ^ (y >> 26); // b, c
79  return state[1] + y;
80  }
81 };
82 
83 #endif
edm::EDGetTokenT< reco::TrackCollection > m_tracksTag
std::vector< std::vector< float > > calibGains
GenericTruncatedAverageDeDxEstimator lowPtTracksEstimator
void produce(edm::Event &, const edm::EventSetup &) override
const unsigned int lowPtTracksPrescalePass
const float lowPtTracksDeDxThreshold
DeDxHitInfoProducer(const edm::ParameterSet &)
void processHit(const TrackingRecHit *recHit, const float trackMomentum, const float cosine, reco::DeDxHitInfo &hitDeDxInfo, const LocalPoint &hitLocalPos)
const std::string m_calibrationPath
const unsigned int minTrackHits
const unsigned int lowPtTracksPrescaleFail
uint64_t xorshift128p(uint64_t state[2])
unsigned long long uint64_t
Definition: Time.h:15
void beginRun(edm::Run const &run, const edm::EventSetup &) override
edm::ESHandle< TrackerGeometry > tkGeom
const float minTrackPtPrescale
Definition: Run.h:44
void makeCalibrationMap(const TrackerGeometry &tkGeom)