CMS 3D CMS Logo

SiPixelTrackResidualSource.h
Go to the documentation of this file.
1 #ifndef SiPixelTrackResidualSource_H
2 #define SiPixelTrackResidualSource_H
3 
4 // Package: SiPixelMonitorTrack
5 // Class: SiPixelTrackResidualSource
6 //
7 // class SiPixelTrackResidualSource SiPixelTrackResidualSource.h
8 // DQM/SiPixelMonitorTrack/interface/SiPixelTrackResidualSource.h
9 //
10 // Description: <one line class summary>
11 // Implementation: <Notes on implementation>
12 //
13 // Original Author: Shan-Huei Chuang
14 // Created: Fri Mar 23 18:41:42 CET 2007
15 //
16 // Updated by: Lukas Wehrli
17 // for pixel offline DQM
18 
28 
29 // Files added for monitoring track quantities
33 //#include "DataFormats/SiPixelDetId/interface/PixelBarrelNameWrapper.h"
39 
41 
44 
46 #include <cstdint>
47 
49 public:
51  ~SiPixelTrackResidualSource() override;
52 
53  void dqmBeginRun(const edm::Run &r, edm::EventSetup const &iSetup) override;
54  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
55  void analyze(const edm::Event &, const edm::EventSetup &) override;
56  void getrococcupancy(DetId detId,
57  const edm::DetSetVector<PixelDigi> &diginp,
58  const TrackerTopology *const tTopo,
59  std::vector<MonitorElement *> meinput);
60  void triplets(double x1,
61  double y1,
62  double z1,
63  double x2,
64  double y2,
65  double z2,
66  double x3,
67  double y3,
68  double z3,
69  double ptsig,
70  double &dc,
71  double &dz,
72  double kap);
73 
75 
76 private:
92 
93  bool debug_;
94  bool modOn;
95  bool reducedSet;
96  // barrel:
97  bool ladOn, layOn, phiOn;
98  // forward:
100  bool isUpgrade;
101  double ptminres_;
102  bool firstRun;
103  int NTotal;
104  int NLowProb;
105 
106  std::map<uint32_t, SiPixelTrackResidualModule *> theSiPixelStructure;
107 
110 
111  std::vector<MonitorElement *> meResidualXSummedLay;
112  std::vector<MonitorElement *> meResidualYSummedLay;
113 
117  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_layers;
118  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_diskps;
119  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_diskms;
124  std::vector<MonitorElement *> meClChargeOnTrack_layers;
125  std::vector<MonitorElement *> meClChargeOnTrack_diskps;
126  std::vector<MonitorElement *> meClChargeOnTrack_diskms;
130  std::vector<MonitorElement *> meClChargeNotOnTrack_layers;
131  std::vector<MonitorElement *> meClChargeNotOnTrack_diskps;
132  std::vector<MonitorElement *> meClChargeNotOnTrack_diskms;
136  std::vector<MonitorElement *> meClSizeOnTrack_layers;
137  std::vector<MonitorElement *> meClSizeOnTrack_diskps;
138  std::vector<MonitorElement *> meClSizeOnTrack_diskms;
142  std::vector<MonitorElement *> meClSizeNotOnTrack_layers;
143  std::vector<MonitorElement *> meClSizeNotOnTrack_diskps;
144  std::vector<MonitorElement *> meClSizeNotOnTrack_diskms;
148  std::vector<MonitorElement *> meClSizeXOnTrack_layers;
149  std::vector<MonitorElement *> meClSizeXOnTrack_diskps;
150  std::vector<MonitorElement *> meClSizeXOnTrack_diskms;
154  std::vector<MonitorElement *> meClSizeXNotOnTrack_layers;
155  std::vector<MonitorElement *> meClSizeXNotOnTrack_diskps;
156  std::vector<MonitorElement *> meClSizeXNotOnTrack_diskms;
160  std::vector<MonitorElement *> meClSizeYOnTrack_layers;
161  std::vector<MonitorElement *> meClSizeYOnTrack_diskps;
162  std::vector<MonitorElement *> meClSizeYOnTrack_diskms;
166  std::vector<MonitorElement *> meClSizeYNotOnTrack_layers;
167  std::vector<MonitorElement *> meClSizeYNotOnTrack_diskps;
168  std::vector<MonitorElement *> meClSizeYNotOnTrack_diskms;
169 
170  // new
174  std::vector<MonitorElement *> meNClustersOnTrack_layers;
175  std::vector<MonitorElement *> meNClustersOnTrack_diskps;
176  std::vector<MonitorElement *> meNClustersOnTrack_diskms;
180  std::vector<MonitorElement *> meNClustersNotOnTrack_layers;
181  std::vector<MonitorElement *> meNClustersNotOnTrack_diskps;
182  std::vector<MonitorElement *> meNClustersNotOnTrack_diskms;
183  //
184 
185  std::vector<MonitorElement *> meClPosLayersOnTrack;
186  std::vector<MonitorElement *> meClPosLayersLadVsModOnTrack;
187  std::vector<MonitorElement *> meClPosLayersNotOnTrack;
188  std::vector<MonitorElement *> meClPosDiskspzOnTrack;
189  std::vector<MonitorElement *> meClPosDisksmzOnTrack;
190  std::vector<MonitorElement *> meClPosDiskspzNotOnTrack;
191  std::vector<MonitorElement *> meClPosDisksmzNotOnTrack;
192 
193  std::vector<MonitorElement *> meZeroRocLadvsModOnTrackBarrel;
194  std::vector<MonitorElement *> meZeroRocLadvsModOffTrackBarrel;
195 
199 
200  void getepixrococcupancyontrk(const TrackerTopology *const tTopo,
202  float xclust,
203  float yclust,
204  float z,
205  MonitorElement *meinput);
207  DetId detId, const TrackerTopology *const tTopo, float xclust, float yclust, float z, MonitorElement *meinput);
208 
211 };
212 
213 #endif
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskms
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskms
edm::EDGetTokenT< reco::TrackCollection > generalTracksToken_
std::vector< MonitorElement * > meClChargeNotOnTrack_diskps
std::vector< MonitorElement * > meClPosDisksmzNotOnTrack
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
std::vector< MonitorElement * > meClPosLayersLadVsModOnTrack
edm::EDGetTokenT< std::vector< Trajectory > > tracksrcToken_
std::vector< MonitorElement * > meClChargeNotOnTrack_layers
std::vector< MonitorElement * > meClChargeOnTrack_layers
std::vector< MonitorElement * > meClChargeNotOnTrack_diskms
std::vector< MonitorElement * > meClSizeOnTrack_layers
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskms
std::vector< MonitorElement * > meClSizeNotOnTrack_diskms
std::vector< MonitorElement * > meClSizeXOnTrack_diskps
std::vector< MonitorElement * > meClPosLayersNotOnTrack
std::vector< MonitorElement * > meClPosDiskspzNotOnTrack
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskps
SiPixelTrackResidualSource(const edm::ParameterSet &)
std::vector< MonitorElement * > meClPosDisksmzOnTrack
std::vector< MonitorElement * > meClSizeXOnTrack_layers
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< MonitorElement * > meNClustersOnTrack_layers
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_layers
void getepixrococcupancyontrk(const TrackerTopology *const tTopo, TransientTrackingRecHit::ConstRecHitPointer hit, float xclust, float yclust, float z, MonitorElement *meinput)
std::vector< MonitorElement * > meZeroRocLadvsModOffTrackBarrel
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
std::vector< MonitorElement * > meClSizeYOnTrack_diskps
std::vector< MonitorElement * > meClChargeOnTrack_diskps
std::vector< MonitorElement * > meNClustersOnTrack_diskms
void triplets(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double ptsig, double &dc, double &dz, double kap)
std::vector< MonitorElement * > meResidualYSummedLay
std::vector< MonitorElement * > meClPosLayersOnTrack
std::vector< MonitorElement * > meClPosDiskspzOnTrack
edm::EDGetTokenT< std::vector< reco::Track > > trackToken_
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clustersrcToken_
std::vector< MonitorElement * > meClSizeXNotOnTrack_layers
void getepixrococcupancyofftrk(DetId detId, const TrackerTopology *const tTopo, float xclust, float yclust, float z, MonitorElement *meinput)
std::vector< MonitorElement * > meClSizeYOnTrack_layers
std::vector< MonitorElement * > meClChargeOnTrack_diskms
Definition: DetId.h:17
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
std::vector< MonitorElement * > meNClustersNotOnTrack_layers
std::vector< MonitorElement * > meZeroRocLadvsModOnTrackBarrel
void getrococcupancy(DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement * > meinput)
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskps
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
std::vector< MonitorElement * > meNClustersOnTrack_diskps
std::vector< MonitorElement * > meClSizeYOnTrack_diskms
std::vector< MonitorElement * > meClSizeOnTrack_diskps
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskps
std::vector< MonitorElement * > meNClustersNotOnTrack_diskms
void dqmBeginRun(const edm::Run &r, edm::EventSetup const &iSetup) override
std::vector< MonitorElement * > meClSizeYNotOnTrack_layers
std::vector< MonitorElement * > meResidualXSummedLay
std::vector< MonitorElement * > meNClustersNotOnTrack_diskps
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
std::vector< MonitorElement * > meClSizeNotOnTrack_diskps
std::vector< MonitorElement * > meClSizeOnTrack_diskms
edm::EDGetTokenT< TrajTrackAssociationCollection > trackAssociationToken_
std::vector< MonitorElement * > meClSizeNotOnTrack_layers
std::vector< MonitorElement * > meClSizeXOnTrack_diskms
Definition: Run.h:45