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 {
23 
24  public:
25 
26  typedef std::vector<float> FloatVector;
27  typedef std::vector<int> IntegerVector;
28 
29  explicit TrackerHitProducer(const edm::ParameterSet&);
30  ~TrackerHitProducer() override;
31  void beginJob() override;
32  void endJob() override;
33  void produce(edm::Event&, const edm::EventSetup&) override;
34 
35  private:
36 
37  // production related methods
38  void fillG4MC(edm::Event&);
39  void storeG4MC(PTrackerSimHit&);
40  void fillTrk(edm::Event&, const edm::EventSetup&);
41  void storeTrk(PTrackerSimHit&);
42 
43  void clear();
44 
45  private:
46 
47  // parameter information
50  int verbosity;
51 
52  // private statistics information
53  unsigned int count;
54 
56 
58 
68 
69 
70  // G4MC info
71  FloatVector G4VtxX;
72  FloatVector G4VtxY;
73  FloatVector G4VtxZ;
74  FloatVector G4TrkPt;
75  FloatVector G4TrkE;
76  FloatVector G4TrkEta;
77  FloatVector G4TrkPhi;
78 
79 
80  // Tracker info
81 
82  // Hit info
83  IntegerVector HitsSysID;
84  FloatVector HitsDuID;
85  FloatVector HitsTkID;
86  FloatVector HitsProT;
87  FloatVector HitsParT;
88  FloatVector HitsP;
89  FloatVector HitsLpX;
90  FloatVector HitsLpY;
91  FloatVector HitsLpZ;
92  FloatVector HitsLdX;
93  FloatVector HitsLdY;
94  FloatVector HitsLdZ;
95  FloatVector HitsLdTheta;
96  FloatVector HitsLdPhi;
97  FloatVector HitsExPx;
98  FloatVector HitsExPy;
99  FloatVector HitsExPz;
100  FloatVector HitsEnPx;
101  FloatVector HitsEnPy;
102  FloatVector HitsEnPz;
103  FloatVector HitsEloss;
104  FloatVector HitsToF;
105 
108 
109 }; // end class declaration
110 
111 
112 #endif
void beginJob()
Definition: Breakpoints.cc:15
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_