CMS 3D CMS Logo

TrackerHitProducer.h
Go to the documentation of this file.
1 #ifndef TrackerHitProducer_h
2 #define TrackerHitProducer_h
3 
4 // framework & common header files
8 
12 
13 #include <string>
14 #include <vector>
15 
16 namespace edm {
17  class HepMCProduct;
18 }
19 class PTrackerSimHit;
20 
22 public:
23  typedef std::vector<float> FloatVector;
24  typedef std::vector<int> IntegerVector;
25 
26  explicit TrackerHitProducer(const edm::ParameterSet &);
27  ~TrackerHitProducer() override;
28  void beginJob() override;
29  void endJob() override;
30  void produce(edm::Event &, const edm::EventSetup &) override;
31 
32 private:
33  // production related methods
34  void fillG4MC(edm::Event &);
35  void storeG4MC(PTrackerSimHit &);
36  void fillTrk(edm::Event &, const edm::EventSetup &);
37  void storeTrk(PTrackerSimHit &);
38 
39  void clear();
40 
41 private:
42  // parameter information
45  int verbosity;
46 
47  // private statistics information
48  unsigned int count;
49 
51 
53 
63 
64  // G4MC info
65  FloatVector G4VtxX;
66  FloatVector G4VtxY;
67  FloatVector G4VtxZ;
68  FloatVector G4TrkPt;
69  FloatVector G4TrkE;
70  FloatVector G4TrkEta;
71  FloatVector G4TrkPhi;
72 
73  // Tracker info
74 
75  // Hit info
76  IntegerVector HitsSysID;
77  FloatVector HitsDuID;
78  FloatVector HitsTkID;
79  FloatVector HitsProT;
80  FloatVector HitsParT;
81  FloatVector HitsP;
82  FloatVector HitsLpX;
83  FloatVector HitsLpY;
84  FloatVector HitsLpZ;
85  FloatVector HitsLdX;
86  FloatVector HitsLdY;
87  FloatVector HitsLdZ;
88  FloatVector HitsLdTheta;
89  FloatVector HitsLdPhi;
90  FloatVector HitsExPx;
91  FloatVector HitsExPy;
92  FloatVector HitsExPz;
93  FloatVector HitsEnPx;
94  FloatVector HitsEnPy;
95  FloatVector HitsEnPz;
96  FloatVector HitsEloss;
97  FloatVector HitsToF;
98 
101 
102 }; // end class declaration
103 
104 #endif
void beginJob()
Definition: Breakpoints.cc:14
std::vector< float > FloatVector
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTOBLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIBLow_Token_
std::vector< int > IntegerVector
void clear(CLHEP::HepGenMatrix &m)
Helper function: Reset all elements of a matrix to 0.
Definition: matutil.cc:167
edm::EDGetTokenT< edm::HepMCProduct > edmHepMCProductToken_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTIDLow_Token_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlFwdLow_Token_
IntegerVector HitsSysID
HLT enums.
edm::EDGetTokenT< edm::SimVertexContainer > edmSimVertexContainerToken_
edm::ParameterSet config_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_siTECLow_Token_
edm::EDGetTokenT< edm::SimTrackContainer > edmSimTrackContainerToken_
edm::EDGetTokenT< edm::PSimHitContainer > edmPSimHitContainer_pxlBrlLow_Token_