CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
SiPixelTrackingRecHitsValid.h
Go to the documentation of this file.
1 
2 // File: SiPixelTrackingRecHitsValid.hh
3 // // Authors: Xingtao Huang (Puerto Rico Univ.)
4 // Gavril Giurgiu (JHU)
5 // Creation Date: Oct. 2006.
6 //
7 //--------------------------------------------
8 
9 #ifndef Validation_RecoTrack_SiPixelTrackingRecHitsValid_h
10 #define Validation_RecoTrack_SiPixelTrackingRecHitsValid_h
11 
12 //DQM services for histogram
17 
39 //#include "Validation/RecoTrack/interface/TrackLocalAngle.h"
40 #include <TROOT.h>
41 #include <TTree.h>
42 #include <TFile.h>
43 #include <TH1F.h>
44 #include <TProfile.h>
45 
51 
52 //--- for SimHit association
64 
65 #include <string>
66 
67 class TTree;
68 class TFile;
69 
71 {
72  public:
73 
75 
77 
78  virtual void analyze(const edm::Event& e, const edm::EventSetup& c);
79  void bookHistograms(DQMStore::IBooker & ibooker,const edm::Run& run, const edm::EventSetup& es);
80  virtual void beginJob();
81  virtual void endJob();
82 
83  //xt std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const StripGeomDetUnit* stripDet,const BoundPlane& plane);
84  std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const PixelGeomDetUnit* pixelDet,const BoundPlane& plane);
85 
86  private:
87 
89  //TrackLocalAngle *anglefinder_;
97  bool MTCCtrack_;
98 
99  bool checkType_; // do we check that the simHit associated with recHit is of the expected particle type ?
100  int genType_; // the type of particle that the simHit associated with recHits should be
101 
102  // Pixel barrel detector has 3 layers and 8 modules; book histograms for each module = (layer, ring) pair
103 
128 
129  // All layers and modules together
154 
163 
176 
189 
198 
199  // Split barrel x/y residuals and pulls in 3 layers
204 
213 
214  // Pixel forward detector has 2 sides, 2 disks per side, 2 panels per disk and either 3 or 4 plaquettes per blade
215  // Panel 1 has 4 plaquettes
216  // Panel 2 has 3 plaquettes
217 
218  // Negative Z side
219  // Panel 1: 2 disks, 4 plaquets
220 
245 
246  // Panel 2: 2 disks, 3 plaquets
271 
272  // Positive Z side
273  // Panel 1: 2 disks, 4 plaquets
298 
299  // Panel 2: 2 disks, 3 plaquets
324 
325  // All disks and plaquettes together
326 
327  // Negative Z side, panel 1
352 
357 
358  // Negative Z side, panel 2
383 
388 
389  // Positive Z side, panel 1
414 
419 
420  // Positive Z side, panel 2
445 
450 
451  // all hits (not only from tracks)
454 
459 
464 
465  // control histograms
468 
469 
470  // variables that go in the output tree
471  float rechitx; // x position of hit
472  float rechity; // y position of hit
473  float rechitz; // z position of hit
474  float rechiterrx; // x position error of hit (error not squared)
475  float rechiterry; // y position error of hit (error not squared)
476 
477  float rechitresx; // difference between reconstructed hit x position and 'true' x position
478  float rechitresy; // difference between reconstructed hit y position and 'true' y position
479  float rechitpullx; // x residual divideded by error
480  float rechitpully; // y residual divideded by error
481 
482  int npix; // number of pixel in the cluster
483  int nxpix; // size of cluster (number of pixels) along x direction
484  int nypix; // size of cluster (number of pixels) along y direction
485  float charge; // total charge in cluster
486 
487  float alpha; // track angle in the xz plane of the module local coordinate system
488  float beta; // track angle in the yz plane of the module local coordinate system
489 
490  float phi; // polar track angle
491  float eta; // pseudo-rapidity (function of theta, the azimuthal angle)
492 
493  int subdetId;
494  int layer;
495  int ladder;
496  int mod;
497  int side;
498  int disk;
499  int blade;
500  int panel;
501  int plaq;
502  int half; // half = 1 if the barrel module is half size and 0 if it is full size (only defined for barrel)
503  int flipped; // flipped = 1 if the module is flipped and 0 if non-flipped (only defined for barrel)
504 
505  int nsimhit; // number of simhits associated with a rechit
506  int pidhit; // PID of the particle that produced the simHit associated with the recHit
507 
508  float simhitx; // true x position of hit
509  float simhity; // true y position of hit
510 
513 
514  TFile * tfile_;
515  TTree * t_;
516 };
517 
518 #endif
MonitorElement * meWPullXvsAlphaBarrelNonFlippedLadders
edm::EDGetTokenT< SiPixelRecHitCollection > siPixelRecHitCollectionToken_
MonitorElement * meResXvsAlphaBarrelNonFlippedLaddersLayer[3]
MonitorElement * meErryBarrelLayerModule[3][8]
MonitorElement * meNpixZmPanel1DiskPlaq[2][4]
MonitorElement * meResYvsAlphaBarrelFlippedLaddersLayer[3]
MonitorElement * mePullYvsEtaBarrelLayerModule[3][8]
MonitorElement * meErryZpPanel2DiskPlaq[2][3]
MonitorElement * meResyZpPanel1DiskPlaq[2][4]
MonitorElement * mePullxZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsBetaBarrelLayerModule[3][8]
MonitorElement * meResyZmPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * meResYvsAlphaBarrelNonFlippedLaddersLayer[3]
MonitorElement * mePullYvsAlphaBarrelNonFlippedLadders
MonitorElement * mePullYvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * meChargeZmPanel2DiskPlaq[2][3]
MonitorElement * mePosxZmPanel1DiskPlaq[2][4]
MonitorElement * mePosyBarrelLayerModule[3][8]
MonitorElement * meResxZpPanel1DiskPlaq[2][4]
MonitorElement * meNpixZpPanel2DiskPlaq[2][3]
MonitorElement * meResyZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsEtaZpPanel1DiskPlaq[2][4]
MonitorElement * meWPullXvsBetaBarrelNonFlippedLadders
MonitorElement * meResYvsBetaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsEtaZmPanel2DiskPlaq[2][3]
MonitorElement * meErrxZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaBarrelNonFlippedLaddersLayer[3]
void bookHistograms(DQMStore::IBooker &ibooker, const edm::Run &run, const edm::EventSetup &es)
MonitorElement * meErrxZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsBetaBarrelFlippedLaddersLayer[3]
MonitorElement * mePullxBarrelLayerModule[3][8]
MonitorElement * mePosyZpPanel1DiskPlaq[2][4]
MonitorElement * meNxpixZpPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsBetaZpPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsPhiZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaBarrelFlippedLaddersLayer[3]
MonitorElement * mePullyZmPanel1DiskPlaq[2][4]
MonitorElement * meErrxBarrelLayerModule[3][8]
MonitorElement * meErryZmPanel2DiskPlaq[2][3]
MonitorElement * mePosxZmPanel2DiskPlaq[2][3]
unsigned long long EventNumber_t
MonitorElement * meChargeZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsEtaZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsBetaZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsAlphaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsAlphaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullxZmPanel1DiskPlaq[2][4]
MonitorElement * mePullyZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaBarrelLayerModule[3][8]
MonitorElement * meNpixZpPanel1DiskPlaq[2][4]
MonitorElement * mePosyZmPanel2DiskPlaq[2][3]
MonitorElement * mePullyBarrelLayerModule[3][8]
MonitorElement * mePullXvsPhiZpPanel2DiskPlaq[2][3]
MonitorElement * meResyBarrelLayerModule[3][8]
MonitorElement * meWPullYvsBetaBarrelNonFlippedLadders
MonitorElement * meNypixBarrelLayerModule[3][8]
edm::EDGetTokenT< reco::TrackCollection > recoTrackCollectionToken_
MonitorElement * mePullyZpPanel1DiskPlaq[2][4]
MonitorElement * meNypixZpPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * meErryZmPanel1DiskPlaq[2][4]
MonitorElement * mePullxZmPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsEtaZpPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsPhiZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsBetaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsPhiBarrelLayerModule[3][8]
MonitorElement * mePullYvsPhiZmPanel2DiskPlaq[2][3]
MonitorElement * meWPullYvsAlphaBarrelNonFlippedLadders
MonitorElement * meResYvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meNpixBarrelLayerModule[3][8]
MonitorElement * meResxZpPanel2DiskPlaq[2][3]
MonitorElement * meChargeZpPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsBetaZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * meResxBarrelLayerModule[3][8]
MonitorElement * meNxpixZmPanel1DiskPlaq[2][4]
MonitorElement * mePosxZpPanel2DiskPlaq[2][3]
MonitorElement * mePosxZpPanel1DiskPlaq[2][4]
MonitorElement * meNxpixZpPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsEtaZpPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsPhiZpPanel1DiskPlaq[2][4]
MonitorElement * meResxZmPanel2DiskPlaq[2][3]
std::pair< LocalPoint, LocalVector > projectHit(const PSimHit &hit, const PixelGeomDetUnit *pixelDet, const BoundPlane &plane)
MonitorElement * meResXvsBetaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullyZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsBetaBarrelLayerModule[3][8]
MonitorElement * meErrxZmPanel2DiskPlaq[2][3]
MonitorElement * meNypixZmPanel1DiskPlaq[2][4]
tuple conf
Definition: dbtoconf.py:185
MonitorElement * mePullXvsEtaZmPanel1DiskPlaq[2][4]
MonitorElement * meErrxZpPanel1DiskPlaq[2][4]
MonitorElement * meErryZpPanel1DiskPlaq[2][4]
MonitorElement * meResXvsBetaZpPanel2DiskPlaq[2][3]
MonitorElement * meResXvsBetaZpPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsPhiZmPanel1DiskPlaq[2][4]
MonitorElement * meChargeZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meNypixZmPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsPhiZpPanel2DiskPlaq[2][3]
MonitorElement * mePullYvsBetaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsEtaBarrelLayerModule[3][8]
MonitorElement * mePullXvsBetaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsBetaBarrelLayerModule[3][8]
MonitorElement * mePullXvsAlphaBarrelNonFlippedLadders
SiPixelTrackingRecHitsValid(const edm::ParameterSet &conf)
MonitorElement * mePullYvsAlphaBarrelLayerModule[3][8]
MonitorElement * mePullYvsEtaZmPanel1DiskPlaq[2][4]
MonitorElement * meResXvsAlphaZmPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * meChargeBarrelLayerModule[3][8]
MonitorElement * meResXvsAlphaZpPanel1DiskPlaq[2][4]
MonitorElement * mePullYvsBetaZpPanel2DiskPlaq[2][3]
MonitorElement * meResYvsBetaZpPanel1DiskPlaq[2][4]
MonitorElement * mePosxBarrelLayerModule[3][8]
MonitorElement * meResYvsAlphaZmPanel2DiskPlaq[2][3]
MonitorElement * meResyZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsBetaZpPanel1DiskPlaq[2][4]
MonitorElement * meResYvsBetaZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsEtaZmPanel2DiskPlaq[2][3]
MonitorElement * meResYvsAlphaBarrelLayerModule[3][8]
unsigned int RunNumber_t
MonitorElement * mePosyZpPanel2DiskPlaq[2][3]
MonitorElement * mePullXvsAlphaZmPanel2DiskPlaq[2][3]
MonitorElement * mePullxZpPanel1DiskPlaq[2][4]
MonitorElement * meResXvsAlphaZpPanel2DiskPlaq[2][3]
MonitorElement * meResXvsAlphaBarrelLayerModule[3][8]
MonitorElement * meResYvsBetaZmPanel2DiskPlaq[2][3]
MonitorElement * meNpixZmPanel2DiskPlaq[2][3]
MonitorElement * meResXvsAlphaBarrelFlippedLaddersLayer[3]
MonitorElement * meResXvsBetaBarrelLayerModule[3][8]
MonitorElement * mePullYvsPhiBarrelLayerModule[3][8]
virtual void analyze(const edm::Event &e, const edm::EventSetup &c)
MonitorElement * meNypixZpPanel2DiskPlaq[2][3]
Definition: Run.h:41
MonitorElement * mePosyZmPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsPhiZpPanel1DiskPlaq[2][4]
MonitorElement * meNxpixBarrelLayerModule[3][8]
MonitorElement * meNxpixZmPanel2DiskPlaq[2][3]
MonitorElement * meResxZmPanel1DiskPlaq[2][4]
MonitorElement * meResYvsBetaBarrelNonFlippedLaddersLayer[3]