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
16 
38 //#include "Validation/RecoTrack/interface/TrackLocalAngle.h"
39 #include <TROOT.h>
40 #include <TTree.h>
41 #include <TFile.h>
42 #include <TH1F.h>
43 #include <TProfile.h>
44 
50 
51 //--- for SimHit association
63 
64 #include <string>
65 
66 class TTree;
67 class TFile;
68 
70 {
71  public:
72 
74 
76 
77  virtual void analyze(const edm::Event& e, const edm::EventSetup& c);
78  virtual void beginJob();
79  virtual void endJob();
80 
81  //xt std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const StripGeomDetUnit* stripDet,const BoundPlane& plane);
82  std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const PixelGeomDetUnit* pixelDet,const BoundPlane& plane);
83 
84  private:
85 
87  //TrackLocalAngle *anglefinder_;
94  bool MTCCtrack_;
95 
96  bool checkType_; // do we check that the simHit associated with recHit is of the expected particle type ?
97  int genType_; // the type of particle that the simHit associated with recHits should be
98 
99  // Pixel barrel detector has 3 layers and 8 modules; book histograms for each module = (layer, ring) pair
100 
125 
126  // All layers and modules together
151 
160 
173 
186 
195 
196  // Split barrel x/y residuals and pulls in 3 layers
201 
210 
211  // Pixel forward detector has 2 sides, 2 disks per side, 2 panels per disk and either 3 or 4 plaquettes per blade
212  // Panel 1 has 4 plaquettes
213  // Panel 2 has 3 plaquettes
214 
215  // Negative Z side
216  // Panel 1: 2 disks, 4 plaquets
217 
242 
243  // Panel 2: 2 disks, 3 plaquets
268 
269  // Positive Z side
270  // Panel 1: 2 disks, 4 plaquets
295 
296  // Panel 2: 2 disks, 3 plaquets
321 
322  // All disks and plaquettes together
323 
324  // Negative Z side, panel 1
349 
354 
355  // Negative Z side, panel 2
380 
385 
386  // Positive Z side, panel 1
411 
416 
417  // Positive Z side, panel 2
442 
447 
448  // all hits (not only from tracks)
451 
456 
461 
462  // control histograms
465 
466 
467  // variables that go in the output tree
468  float rechitx; // x position of hit
469  float rechity; // y position of hit
470  float rechitz; // z position of hit
471  float rechiterrx; // x position error of hit (error not squared)
472  float rechiterry; // y position error of hit (error not squared)
473 
474  float rechitresx; // difference between reconstructed hit x position and 'true' x position
475  float rechitresy; // difference between reconstructed hit y position and 'true' y position
476  float rechitpullx; // x residual divideded by error
477  float rechitpully; // y residual divideded by error
478 
479  int npix; // number of pixel in the cluster
480  int nxpix; // size of cluster (number of pixels) along x direction
481  int nypix; // size of cluster (number of pixels) along y direction
482  float charge; // total charge in cluster
483 
484  float alpha; // track angle in the xz plane of the module local coordinate system
485  float beta; // track angle in the yz plane of the module local coordinate system
486 
487  float phi; // polar track angle
488  float eta; // pseudo-rapidity (function of theta, the azimuthal angle)
489 
490  int subdetId;
491  int layer;
492  int ladder;
493  int mod;
494  int side;
495  int disk;
496  int blade;
497  int panel;
498  int plaq;
499  int half; // half = 1 if the barrel module is half size and 0 if it is full size (only defined for barrel)
500  int flipped; // flipped = 1 if the module is flipped and 0 if non-flipped (only defined for barrel)
501 
502  int nsimhit; // number of simhits associated with a rechit
503  int pidhit; // PID of the particle that produced the simHit associated with the recHit
504 
505  float simhitx; // true x position of hit
506  float simhity; // true y position of hit
507 
508  int evt;
509  int run;
510 
511  TFile * tfile_;
512  TTree * t_;
513 };
514 
515 #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]
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]
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]
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]
MonitorElement * mePosyZmPanel1DiskPlaq[2][4]
MonitorElement * mePullXvsPhiZpPanel1DiskPlaq[2][4]
MonitorElement * meNxpixBarrelLayerModule[3][8]
MonitorElement * meNxpixZmPanel2DiskPlaq[2][3]
MonitorElement * meResxZmPanel1DiskPlaq[2][4]
MonitorElement * meResYvsBetaBarrelNonFlippedLaddersLayer[3]