CMS 3D CMS Logo

Phase2TrackerValidateDigi.h
Go to the documentation of this file.
1 #ifndef Phase2TrackerValidateDigi_h
2 #define Phase2TrackerValidateDigi_h
3 
8 
18 
19 // DQM Histograming
20 class PixelDigiSimLink;
21 class SimTrack;
22 class SimHit;
23 class TrackerTopology;
24 class PixelDigi;
25 class Phase2TrackerDigi;
26 class TrackerGeometry;
27 
29 public:
31  ~Phase2TrackerValidateDigi() override;
32  void bookHistograms(DQMStore::IBooker& ibooker, edm::Run const& iRun, edm::EventSetup const& iSetup) override;
33  void dqmBeginRun(const edm::Run& iRun, const edm::EventSetup& iSetup) override;
34  void analyze(const edm::Event& iEvent, const edm::EventSetup& iSetup) override;
35 
36  struct DigiMEs {
60  int nHits;
61  int nDigis;
62  };
63 
64 private:
68 
70 
74 
78 
82 
85 
88 
93 
95  float etaCut_;
96  float ptCut_;
97  float tofUpperCut_;
98  float tofLowerCut_;
99 
100  void bookLayerHistos(DQMStore::IBooker& ibooker, unsigned int det_id, const TrackerTopology* tTopo, bool flag);
101  unsigned int getSimTrackId(const edm::DetSetVector<PixelDigiSimLink>* simLinks,
102  const DetId& detId,
103  unsigned int& channel);
104  int matchedSimTrack(edm::Handle<edm::SimTrackContainer>& SimTk, unsigned int simTrkId);
105  bool isPrimary(const SimTrack& simTrk, const PSimHit& simHit);
106 
107  void fillHistogram(MonitorElement* th1, MonitorElement* th2, MonitorElement* th3, float val, int primary);
108  int fillSimHitInfo(const edm::Event& iEvent, const SimTrack simTrk, const edm::ESHandle<TrackerGeometry> gHandle);
109  bool findOTDigi(unsigned int detid, unsigned int id);
110  bool findITPixelDigi(unsigned int detid, unsigned int id);
111  void fillOTBXInfo();
112  void fillITPixelBXInfo();
113  void fillHitsPerTrack();
114 
116  std::map<unsigned int, DigiMEs> layerMEs;
117 
120 
125  std::vector<edm::InputTag> pSimHitSrc_;
128 
133  // const edm::EDGetTokenT< edm::PSimHitContainer > psimHitToken_;
136  std::vector<edm::EDGetTokenT<edm::PSimHitContainer> > simHitTokens_;
137 
146 
147  const float GeVperElectron; // 3.7E-09
148  const float cval; // cm/ns
149 };
150 #endif
const edm::EDGetTokenT< edm::DetSetVector< Phase2TrackerDigi > > otDigiToken_
edm::Handle< edm::SimTrackContainer > simTracks
std::map< unsigned int, DigiMEs > layerMEs
bool isPrimary(const SimTrack &simTrk, const PSimHit &simHit)
const edm::EDGetTokenT< edm::DetSetVector< PixelDigiSimLink > > itPixelDigiSimLinkToken_
edm::Handle< edm::DetSetVector< PixelDigiSimLink > > itPixelSimLinkHandle_
edm::ESHandle< TrackerTopology > tTopoHandle_
bool findOTDigi(unsigned int detid, unsigned int id)
int matchedSimTrack(edm::Handle< edm::SimTrackContainer > &SimTk, unsigned int simTrkId)
void dqmBeginRun(const edm::Run &iRun, const edm::EventSetup &iSetup) override
std::vector< edm::InputTag > pSimHitSrc_
int fillSimHitInfo(const edm::Event &iEvent, const SimTrack simTrk, const edm::ESHandle< TrackerGeometry > gHandle)
const edm::EDGetTokenT< edm::SimVertexContainer > simVertexToken_
unsigned int getSimTrackId(const edm::DetSetVector< PixelDigiSimLink > *simLinks, const DetId &detId, unsigned int &channel)
int iEvent
Definition: GenABIO.cc:224
edm::Handle< edm::DetSetVector< PixelDigiSimLink > > otSimLinkHandle_
bool findITPixelDigi(unsigned int detid, unsigned int id)
edm::Handle< edm::PSimHitContainer > simHits
std::vector< edm::EDGetTokenT< edm::PSimHitContainer > > simHitTokens_
void analyze(const edm::Event &iEvent, const edm::EventSetup &iSetup) override
void bookLayerHistos(DQMStore::IBooker &ibooker, unsigned int det_id, const TrackerTopology *tTopo, bool flag)
edm::Handle< edm::DetSetVector< PixelDigi > > itPixelDigiHandle_
void fillHistogram(MonitorElement *th1, MonitorElement *th2, MonitorElement *th3, float val, int primary)
edm::Handle< edm::SimVertexContainer > simVertices
Definition: DetId.h:17
const edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > itPixelDigiToken_
const edm::EDGetTokenT< edm::DetSetVector< PixelDigiSimLink > > otDigiSimLinkToken_
Phase2TrackerValidateDigi(const edm::ParameterSet &)
const edm::EDGetTokenT< edm::SimTrackContainer > simTrackToken_
edm::Handle< edm::DetSetVector< Phase2TrackerDigi > > otDigiHandle_
void bookHistograms(DQMStore::IBooker &ibooker, edm::Run const &iRun, edm::EventSetup const &iSetup) override
Definition: Run.h:45