CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
46 
48 
50  public:
53 
54  virtual void dqmBeginRun(const edm::Run& r, edm::EventSetup const& iSetup) override;
55  virtual void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
56  virtual void analyze(const edm::Event&, const edm::EventSetup&) override;
57  void getrococcupancy(DetId detId,const edm::DetSetVector<PixelDigi> diginp,const TrackerTopology* const tTopo,std::vector<MonitorElement*> meinput);
58  void triplets(double x1,double y1,double z1,double x2,double y2,double z2,double x3,double y3,double z3,
59  double ptsig, double & dc,double & dz, double kap);
60 
62 
63  private:
79 
80  bool debug_;
81  bool modOn;
82  bool reducedSet;
83  //barrel:
84  bool ladOn, layOn, phiOn;
85  //forward:
87  bool isUpgrade;
88  double ptminres_;
89  bool firstRun;
90  int NTotal;
91  int NLowProb;
92 
93  std::map<uint32_t, SiPixelTrackResidualModule*> theSiPixelStructure;
94 
97 
98  std::vector<MonitorElement*> meResidualXSummedLay;
99  std::vector<MonitorElement*> meResidualYSummedLay;
100 
104  std::vector<MonitorElement*> meNofClustersvsPhiOnTrack_layers;
105  std::vector<MonitorElement*> meNofClustersvsPhiOnTrack_diskps;
106  std::vector<MonitorElement*> meNofClustersvsPhiOnTrack_diskms;
111  std::vector<MonitorElement*> meClChargeOnTrack_layers;
112  std::vector<MonitorElement*> meClChargeOnTrack_diskps;
113  std::vector<MonitorElement*> meClChargeOnTrack_diskms;
117  std::vector<MonitorElement*> meClChargeNotOnTrack_layers;
118  std::vector<MonitorElement*> meClChargeNotOnTrack_diskps;
119  std::vector<MonitorElement*> meClChargeNotOnTrack_diskms;
123  std::vector<MonitorElement*> meClSizeOnTrack_layers;
124  std::vector<MonitorElement*> meClSizeOnTrack_diskps;
125  std::vector<MonitorElement*> meClSizeOnTrack_diskms;
129  std::vector<MonitorElement*> meClSizeNotOnTrack_layers;
130  std::vector<MonitorElement*> meClSizeNotOnTrack_diskps;
131  std::vector<MonitorElement*> meClSizeNotOnTrack_diskms;
135  std::vector<MonitorElement*> meClSizeXOnTrack_layers;
136  std::vector<MonitorElement*> meClSizeXOnTrack_diskps;
137  std::vector<MonitorElement*> meClSizeXOnTrack_diskms;
141  std::vector<MonitorElement*> meClSizeXNotOnTrack_layers;
142  std::vector<MonitorElement*> meClSizeXNotOnTrack_diskps;
143  std::vector<MonitorElement*> meClSizeXNotOnTrack_diskms;
147  std::vector<MonitorElement*> meClSizeYOnTrack_layers;
148  std::vector<MonitorElement*> meClSizeYOnTrack_diskps;
149  std::vector<MonitorElement*> meClSizeYOnTrack_diskms;
153  std::vector<MonitorElement*> meClSizeYNotOnTrack_layers;
154  std::vector<MonitorElement*> meClSizeYNotOnTrack_diskps;
155  std::vector<MonitorElement*> meClSizeYNotOnTrack_diskms;
156 
157  //new
161  std::vector<MonitorElement*> meNClustersOnTrack_layers;
162  std::vector<MonitorElement*> meNClustersOnTrack_diskps;
163  std::vector<MonitorElement*> meNClustersOnTrack_diskms;
167  std::vector<MonitorElement*> meNClustersNotOnTrack_layers;
168  std::vector<MonitorElement*> meNClustersNotOnTrack_diskps;
169  std::vector<MonitorElement*> meNClustersNotOnTrack_diskms;
170  //
171 
172  std::vector<MonitorElement*> meClPosLayersOnTrack;
173  std::vector<MonitorElement*> meClPosLayersLadVsModOnTrack;
174  std::vector<MonitorElement*> meClPosLayersNotOnTrack;
175  std::vector<MonitorElement*> meClPosDiskspzOnTrack;
176  std::vector<MonitorElement*> meClPosDisksmzOnTrack;
177  std::vector<MonitorElement*> meClPosDiskspzNotOnTrack;
178  std::vector<MonitorElement*> meClPosDisksmzNotOnTrack;
179 
180  std::vector<MonitorElement*> meZeroRocLadvsModOnTrackBarrel;
181  std::vector<MonitorElement*> meZeroRocLadvsModOffTrackBarrel;
182 
186 
188  float xclust, float yclust, float z, MonitorElement* meinput);
189  void getepixrococcupancyofftrk(DetId detId, const TrackerTopology* const tTopo,
190  float xclust, float yclust, float z, MonitorElement* meinput);
191 
194 };
195 
196 #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
virtual 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
virtual 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)
void getrococcupancy(DetId detId, const edm::DetSetVector< PixelDigi > diginp, const TrackerTopology *const tTopo, std::vector< 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
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
virtual 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