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 
19 #include <boost/cstdint.hpp>
20 
31 
32 // Files added for monitoring track quantities
36 //#include "DataFormats/SiPixelDetId/interface/PixelBarrelNameWrapper.h"
42 
44 
47 
49 
51 public:
53  ~SiPixelTrackResidualSource() override;
54 
55  void dqmBeginRun(const edm::Run &r, edm::EventSetup const &iSetup) override;
56  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
57  void analyze(const edm::Event &, const edm::EventSetup &) override;
58  void getrococcupancy(DetId detId,
59  const edm::DetSetVector<PixelDigi> &diginp,
60  const TrackerTopology *const tTopo,
61  std::vector<MonitorElement *> meinput);
62  void triplets(double x1,
63  double y1,
64  double z1,
65  double x2,
66  double y2,
67  double z2,
68  double x3,
69  double y3,
70  double z3,
71  double ptsig,
72  double &dc,
73  double &dz,
74  double kap);
75 
77 
78 private:
94 
95  bool debug_;
96  bool modOn;
97  bool reducedSet;
98  // barrel:
99  bool ladOn, layOn, phiOn;
100  // forward:
102  bool isUpgrade;
103  double ptminres_;
104  bool firstRun;
105  int NTotal;
106  int NLowProb;
107 
108  std::map<uint32_t, SiPixelTrackResidualModule *> theSiPixelStructure;
109 
112 
113  std::vector<MonitorElement *> meResidualXSummedLay;
114  std::vector<MonitorElement *> meResidualYSummedLay;
115 
119  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_layers;
120  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_diskps;
121  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_diskms;
126  std::vector<MonitorElement *> meClChargeOnTrack_layers;
127  std::vector<MonitorElement *> meClChargeOnTrack_diskps;
128  std::vector<MonitorElement *> meClChargeOnTrack_diskms;
132  std::vector<MonitorElement *> meClChargeNotOnTrack_layers;
133  std::vector<MonitorElement *> meClChargeNotOnTrack_diskps;
134  std::vector<MonitorElement *> meClChargeNotOnTrack_diskms;
138  std::vector<MonitorElement *> meClSizeOnTrack_layers;
139  std::vector<MonitorElement *> meClSizeOnTrack_diskps;
140  std::vector<MonitorElement *> meClSizeOnTrack_diskms;
144  std::vector<MonitorElement *> meClSizeNotOnTrack_layers;
145  std::vector<MonitorElement *> meClSizeNotOnTrack_diskps;
146  std::vector<MonitorElement *> meClSizeNotOnTrack_diskms;
150  std::vector<MonitorElement *> meClSizeXOnTrack_layers;
151  std::vector<MonitorElement *> meClSizeXOnTrack_diskps;
152  std::vector<MonitorElement *> meClSizeXOnTrack_diskms;
156  std::vector<MonitorElement *> meClSizeXNotOnTrack_layers;
157  std::vector<MonitorElement *> meClSizeXNotOnTrack_diskps;
158  std::vector<MonitorElement *> meClSizeXNotOnTrack_diskms;
162  std::vector<MonitorElement *> meClSizeYOnTrack_layers;
163  std::vector<MonitorElement *> meClSizeYOnTrack_diskps;
164  std::vector<MonitorElement *> meClSizeYOnTrack_diskms;
168  std::vector<MonitorElement *> meClSizeYNotOnTrack_layers;
169  std::vector<MonitorElement *> meClSizeYNotOnTrack_diskps;
170  std::vector<MonitorElement *> meClSizeYNotOnTrack_diskms;
171 
172  // new
176  std::vector<MonitorElement *> meNClustersOnTrack_layers;
177  std::vector<MonitorElement *> meNClustersOnTrack_diskps;
178  std::vector<MonitorElement *> meNClustersOnTrack_diskms;
182  std::vector<MonitorElement *> meNClustersNotOnTrack_layers;
183  std::vector<MonitorElement *> meNClustersNotOnTrack_diskps;
184  std::vector<MonitorElement *> meNClustersNotOnTrack_diskms;
185  //
186 
187  std::vector<MonitorElement *> meClPosLayersOnTrack;
188  std::vector<MonitorElement *> meClPosLayersLadVsModOnTrack;
189  std::vector<MonitorElement *> meClPosLayersNotOnTrack;
190  std::vector<MonitorElement *> meClPosDiskspzOnTrack;
191  std::vector<MonitorElement *> meClPosDisksmzOnTrack;
192  std::vector<MonitorElement *> meClPosDiskspzNotOnTrack;
193  std::vector<MonitorElement *> meClPosDisksmzNotOnTrack;
194 
195  std::vector<MonitorElement *> meZeroRocLadvsModOnTrackBarrel;
196  std::vector<MonitorElement *> meZeroRocLadvsModOffTrackBarrel;
197 
201 
202  void getepixrococcupancyontrk(const TrackerTopology *const tTopo,
204  float xclust,
205  float yclust,
206  float z,
207  MonitorElement *meinput);
209  DetId detId, const TrackerTopology *const tTopo, float xclust, float yclust, float z, MonitorElement *meinput);
210 
213 };
214 
215 #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:18
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