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,const edm::DetSetVector<PixelDigi> & diginp,const TrackerTopology* const tTopo,std::vector<MonitorElement*> meinput);
59  void triplets(double x1,double y1,double z1,double x2,double y2,double z2,double x3,double y3,double z3,
60  double ptsig, double & dc,double & dz, double kap);
61 
63 
64  private:
80 
81  bool debug_;
82  bool modOn;
83  bool reducedSet;
84  //barrel:
85  bool ladOn, layOn, phiOn;
86  //forward:
88  bool isUpgrade;
89  double ptminres_;
90  bool firstRun;
91  int NTotal;
92  int NLowProb;
93 
94  std::map<uint32_t, SiPixelTrackResidualModule*> theSiPixelStructure;
95 
98 
99  std::vector<MonitorElement*> meResidualXSummedLay;
100  std::vector<MonitorElement*> meResidualYSummedLay;
101 
105  std::vector<MonitorElement*> meNofClustersvsPhiOnTrack_layers;
106  std::vector<MonitorElement*> meNofClustersvsPhiOnTrack_diskps;
107  std::vector<MonitorElement*> meNofClustersvsPhiOnTrack_diskms;
112  std::vector<MonitorElement*> meClChargeOnTrack_layers;
113  std::vector<MonitorElement*> meClChargeOnTrack_diskps;
114  std::vector<MonitorElement*> meClChargeOnTrack_diskms;
118  std::vector<MonitorElement*> meClChargeNotOnTrack_layers;
119  std::vector<MonitorElement*> meClChargeNotOnTrack_diskps;
120  std::vector<MonitorElement*> meClChargeNotOnTrack_diskms;
124  std::vector<MonitorElement*> meClSizeOnTrack_layers;
125  std::vector<MonitorElement*> meClSizeOnTrack_diskps;
126  std::vector<MonitorElement*> meClSizeOnTrack_diskms;
130  std::vector<MonitorElement*> meClSizeNotOnTrack_layers;
131  std::vector<MonitorElement*> meClSizeNotOnTrack_diskps;
132  std::vector<MonitorElement*> meClSizeNotOnTrack_diskms;
136  std::vector<MonitorElement*> meClSizeXOnTrack_layers;
137  std::vector<MonitorElement*> meClSizeXOnTrack_diskps;
138  std::vector<MonitorElement*> meClSizeXOnTrack_diskms;
142  std::vector<MonitorElement*> meClSizeXNotOnTrack_layers;
143  std::vector<MonitorElement*> meClSizeXNotOnTrack_diskps;
144  std::vector<MonitorElement*> meClSizeXNotOnTrack_diskms;
148  std::vector<MonitorElement*> meClSizeYOnTrack_layers;
149  std::vector<MonitorElement*> meClSizeYOnTrack_diskps;
150  std::vector<MonitorElement*> meClSizeYOnTrack_diskms;
154  std::vector<MonitorElement*> meClSizeYNotOnTrack_layers;
155  std::vector<MonitorElement*> meClSizeYNotOnTrack_diskps;
156  std::vector<MonitorElement*> meClSizeYNotOnTrack_diskms;
157 
158  //new
162  std::vector<MonitorElement*> meNClustersOnTrack_layers;
163  std::vector<MonitorElement*> meNClustersOnTrack_diskps;
164  std::vector<MonitorElement*> meNClustersOnTrack_diskms;
168  std::vector<MonitorElement*> meNClustersNotOnTrack_layers;
169  std::vector<MonitorElement*> meNClustersNotOnTrack_diskps;
170  std::vector<MonitorElement*> meNClustersNotOnTrack_diskms;
171  //
172 
173  std::vector<MonitorElement*> meClPosLayersOnTrack;
174  std::vector<MonitorElement*> meClPosLayersLadVsModOnTrack;
175  std::vector<MonitorElement*> meClPosLayersNotOnTrack;
176  std::vector<MonitorElement*> meClPosDiskspzOnTrack;
177  std::vector<MonitorElement*> meClPosDisksmzOnTrack;
178  std::vector<MonitorElement*> meClPosDiskspzNotOnTrack;
179  std::vector<MonitorElement*> meClPosDisksmzNotOnTrack;
180 
181  std::vector<MonitorElement*> meZeroRocLadvsModOnTrackBarrel;
182  std::vector<MonitorElement*> meZeroRocLadvsModOffTrackBarrel;
183 
187 
189  float xclust, float yclust, float z, MonitorElement* meinput);
190  void getepixrococcupancyofftrk(DetId detId, const TrackerTopology* const tTopo,
191  float xclust, float yclust, float z, MonitorElement* meinput);
192 
195 };
196 
197 #endif
edm::EDGetTokenT< reco::TrackCollection > generalTracksToken_
std::vector< MonitorElement * > meClChargeOnTrack_layers
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskps
edm::EDGetTokenT< std::vector< Trajectory > > tracksrcToken_
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskms
void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override
std::vector< MonitorElement * > meClSizeXOnTrack_layers
std::vector< MonitorElement * > meNClustersNotOnTrack_diskps
std::vector< MonitorElement * > meClSizeYOnTrack_diskms
std::vector< MonitorElement * > meClSizeNotOnTrack_diskms
std::vector< MonitorElement * > meClPosLayersOnTrack
std::vector< MonitorElement * > meClPosDisksmzOnTrack
std::vector< MonitorElement * > meClSizeOnTrack_layers
std::vector< MonitorElement * > meClPosDiskspzOnTrack
std::vector< MonitorElement * > meClChargeNotOnTrack_diskps
std::vector< MonitorElement * > meClChargeOnTrack_diskms
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_layers
std::vector< MonitorElement * > meClPosDiskspzNotOnTrack
SiPixelTrackResidualSource(const edm::ParameterSet &)
std::vector< MonitorElement * > meClPosLayersNotOnTrack
std::vector< MonitorElement * > meResidualXSummedLay
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskps
std::vector< MonitorElement * > meClSizeXNotOnTrack_layers
void analyze(const edm::Event &, const edm::EventSetup &) override
std::vector< MonitorElement * > meNofClustersvsPhiOnTrack_diskms
void getepixrococcupancyontrk(const TrackerTopology *const tTopo, TransientTrackingRecHit::ConstRecHitPointer hit, float xclust, float yclust, float z, MonitorElement *meinput)
std::vector< MonitorElement * > meClChargeOnTrack_diskps
std::shared_ptr< TrackingRecHit const > ConstRecHitPointer
std::vector< MonitorElement * > meResidualYSummedLay
std::vector< MonitorElement * > meClSizeYNotOnTrack_diskms
std::vector< MonitorElement * > meZeroRocLadvsModOnTrackBarrel
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 * > meClPosDisksmzNotOnTrack
std::vector< MonitorElement * > meZeroRocLadvsModOffTrackBarrel
edm::EDGetTokenT< std::vector< reco::Track > > trackToken_
std::vector< MonitorElement * > meClSizeYOnTrack_layers
std::vector< MonitorElement * > meNClustersOnTrack_diskps
edm::EDGetTokenT< edmNew::DetSetVector< SiPixelCluster > > clustersrcToken_
void getepixrococcupancyofftrk(DetId detId, const TrackerTopology *const tTopo, float xclust, float yclust, float z, MonitorElement *meinput)
std::vector< MonitorElement * > meClSizeNotOnTrack_diskps
std::vector< MonitorElement * > meClSizeXOnTrack_diskps
std::vector< MonitorElement * > meClSizeYNotOnTrack_layers
std::vector< MonitorElement * > meClSizeYOnTrack_diskps
Definition: DetId.h:18
edm::EDGetTokenT< edm::DetSetVector< PixelDigi > > digisrcToken_
std::vector< MonitorElement * > meClPosLayersLadVsModOnTrack
std::map< uint32_t, SiPixelTrackResidualModule * > theSiPixelStructure
void getrococcupancy(DetId detId, const edm::DetSetVector< PixelDigi > &diginp, const TrackerTopology *const tTopo, std::vector< MonitorElement * > meinput)
std::vector< MonitorElement * > meClChargeNotOnTrack_diskms
std::vector< MonitorElement * > meClSizeOnTrack_diskps
edm::EDGetTokenT< reco::VertexCollection > offlinePrimaryVerticesToken_
std::vector< MonitorElement * > meNClustersOnTrack_diskms
std::vector< MonitorElement * > meNClustersNotOnTrack_diskms
std::vector< MonitorElement * > meClSizeXNotOnTrack_diskps
std::vector< MonitorElement * > meClChargeNotOnTrack_layers
void dqmBeginRun(const edm::Run &r, edm::EventSetup const &iSetup) override
std::vector< MonitorElement * > meNClustersOnTrack_layers
std::vector< MonitorElement * > meClSizeNotOnTrack_layers
std::vector< MonitorElement * > meNClustersNotOnTrack_layers
std::vector< MonitorElement * > meClSizeOnTrack_diskms
edm::EDGetTokenT< reco::BeamSpot > beamSpotToken_
edm::EDGetTokenT< TrajTrackAssociationCollection > trackAssociationToken_
std::vector< MonitorElement * > meClSizeXOnTrack_diskms
Definition: Run.h:43