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 
22 
23 // Files added for monitoring track quantities
33 
42 
44 #include <cstdint>
45 
47 public:
49  ~SiPixelTrackResidualSource() override;
50 
51  void dqmBeginRun(const edm::Run &r, edm::EventSetup const &iSetup) override;
52  void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
53  void analyze(const edm::Event &, const edm::EventSetup &) override;
55  const edm::DetSetVector<PixelDigi> &diginp,
56  const TrackerTopology *const tTopo,
57  std::vector<MonitorElement *> meinput);
58  void triplets(double x1,
59  double y1,
60  double z1,
61  double x2,
62  double y2,
63  double z2,
64  double x3,
65  double y3,
66  double z3,
67  double ptsig,
68  double &dc,
69  double &dz,
70  double kap);
71 
73 
74 private:
90 
97 
98  bool debug_;
99  bool modOn;
101  // barrel:
102  bool ladOn, layOn, phiOn;
103  // forward:
105  bool isUpgrade;
106  double ptminres_;
107  bool firstRun;
108  int NTotal;
109  int NLowProb;
110 
111  std::map<uint32_t, SiPixelTrackResidualModule *> theSiPixelStructure;
112 
115 
116  std::vector<MonitorElement *> meResidualXSummedLay;
117  std::vector<MonitorElement *> meResidualYSummedLay;
118 
122  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_layers;
123  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_diskps;
124  std::vector<MonitorElement *> meNofClustersvsPhiOnTrack_diskms;
129  std::vector<MonitorElement *> meClChargeOnTrack_layers;
130  std::vector<MonitorElement *> meClChargeOnTrack_diskps;
131  std::vector<MonitorElement *> meClChargeOnTrack_diskms;
135  std::vector<MonitorElement *> meClChargeNotOnTrack_layers;
136  std::vector<MonitorElement *> meClChargeNotOnTrack_diskps;
137  std::vector<MonitorElement *> meClChargeNotOnTrack_diskms;
141  std::vector<MonitorElement *> meClSizeOnTrack_layers;
142  std::vector<MonitorElement *> meClSizeOnTrack_diskps;
143  std::vector<MonitorElement *> meClSizeOnTrack_diskms;
147  std::vector<MonitorElement *> meClSizeNotOnTrack_layers;
148  std::vector<MonitorElement *> meClSizeNotOnTrack_diskps;
149  std::vector<MonitorElement *> meClSizeNotOnTrack_diskms;
153  std::vector<MonitorElement *> meClSizeXOnTrack_layers;
154  std::vector<MonitorElement *> meClSizeXOnTrack_diskps;
155  std::vector<MonitorElement *> meClSizeXOnTrack_diskms;
159  std::vector<MonitorElement *> meClSizeXNotOnTrack_layers;
160  std::vector<MonitorElement *> meClSizeXNotOnTrack_diskps;
161  std::vector<MonitorElement *> meClSizeXNotOnTrack_diskms;
165  std::vector<MonitorElement *> meClSizeYOnTrack_layers;
166  std::vector<MonitorElement *> meClSizeYOnTrack_diskps;
167  std::vector<MonitorElement *> meClSizeYOnTrack_diskms;
171  std::vector<MonitorElement *> meClSizeYNotOnTrack_layers;
172  std::vector<MonitorElement *> meClSizeYNotOnTrack_diskps;
173  std::vector<MonitorElement *> meClSizeYNotOnTrack_diskms;
174 
175  // new
179  std::vector<MonitorElement *> meNClustersOnTrack_layers;
180  std::vector<MonitorElement *> meNClustersOnTrack_diskps;
181  std::vector<MonitorElement *> meNClustersOnTrack_diskms;
185  std::vector<MonitorElement *> meNClustersNotOnTrack_layers;
186  std::vector<MonitorElement *> meNClustersNotOnTrack_diskps;
187  std::vector<MonitorElement *> meNClustersNotOnTrack_diskms;
188  //
189 
190  std::vector<MonitorElement *> meClPosLayersOnTrack;
191  std::vector<MonitorElement *> meClPosLayersLadVsModOnTrack;
192  std::vector<MonitorElement *> meClPosLayersNotOnTrack;
193  std::vector<MonitorElement *> meClPosDiskspzOnTrack;
194  std::vector<MonitorElement *> meClPosDisksmzOnTrack;
195  std::vector<MonitorElement *> meClPosDiskspzNotOnTrack;
196  std::vector<MonitorElement *> meClPosDisksmzNotOnTrack;
197 
198  std::vector<MonitorElement *> meZeroRocLadvsModOnTrackBarrel;
199  std::vector<MonitorElement *> meZeroRocLadvsModOffTrackBarrel;
200 
204 
205  void getepixrococcupancyontrk(const TrackerTopology *const tTopo,
207  float xclust,
208  float yclust,
209  float z,
210  MonitorElement *meinput);
212  DetId detId, const TrackerTopology *const tTopo, float xclust, float yclust, float z, MonitorElement *meinput);
213 
216 };
217 
218 #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
edm::ESGetToken< TransientTrackingRecHitBuilder, TransientRecHitRecord > transientTrackingRecHitBuilderToken_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomTokenBeginRun_
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
void getrococcupancy(DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement *> meinput)
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
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskps
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoTokenBeginRun_
edm::ESGetToken< TrackerGeometry, TrackerDigiGeometryRecord > trackerGeomToken_
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
std::vector< MonitorElement * > meNClustersOnTrack_diskps
edm::ESGetToken< TrackerTopology, TrackerTopologyRcd > trackerTopoToken_
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
edm::ESGetToken< TransientTrackBuilder, TransientTrackRecord > transientTrackBuilderToken_
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