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,
45  const float trackMomentum,
46  const float cosine,
47  reco::DeDxHitInfo& hitDeDxInfo,
48  const LocalPoint& hitLocalPos);
49 
50  // ----------member data ---------------------------
51 
53 
54  const bool usePixel;
55  const bool useStrip;
56  const float MeVperADCPixel;
57  const float MeVperADCStrip;
58 
59  const unsigned int minTrackHits;
60  const float minTrackPt;
61  const float minTrackPtPrescale;
62  const float maxTrackEta;
63 
65  const bool useCalibration;
66  const bool shapetest;
67 
71 
72  std::vector<std::vector<float> > calibGains;
73  unsigned int m_off;
74 
76 
78  uint64_t x = state[0];
79  uint64_t const y = state[1];
80  state[0] = y;
81  x ^= x << 23; // a
82  state[1] = x ^ y ^ (x >> 17) ^ (y >> 26); // b, c
83  return state[1] + y;
84  }
85 };
86 
87 #endif
edm::EDGetTokenT< reco::TrackCollection > m_tracksTag
GenericTruncatedAverageDeDxEstimator lowPtTracksEstimator
std::vector< std::vector< float > > calibGains
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:13
void beginRun(edm::Run const &run, const edm::EventSetup &) override
edm::ESHandle< TrackerGeometry > tkGeom
const float minTrackPtPrescale
Definition: Run.h:45
void makeCalibrationMap(const TrackerGeometry &tkGeom)