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 
36 //#include "Validation/RecoTrack/interface/TrackLocalAngle.h"
37 #include <TROOT.h>
38 #include <TTree.h>
39 #include <TFile.h>
40 #include <TH1F.h>
41 #include <TProfile.h>
42 
48 
49 //--- for SimHit association
61 
62 #include <string>
63 
64 class TTree;
65 class TFile;
66 
68 {
69  public:
70 
72 
74 
75  virtual void analyze(const edm::Event& e, const edm::EventSetup& c);
76  virtual void beginJob();
77  virtual void endJob();
78 
79  //xt std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const StripGeomDetUnit* stripDet,const BoundPlane& plane);
80  std::pair<LocalPoint,LocalVector> projectHit( const PSimHit& hit, const PixelGeomDetUnit* pixelDet,const BoundPlane& plane);
81 
82  private:
83 
85  //TrackLocalAngle *anglefinder_;
87  std::string outputFile_;
88  std::string debugNtuple_;
89  std::string src_;
90  std::string builderName_;
91  bool MTCCtrack_;
92 
93  bool checkType_; // do we check that the simHit associated with recHit is of the expected particle type ?
94  int genType_; // the type of particle that the simHit associated with recHits should be
95 
96  // Pixel barrel detector has 3 layers and 8 modules; book histograms for each module = (layer, ring) pair
97 
122 
123  // All layers and modules together
148 
157 
170 
183 
192 
193  // Split barrel x/y residuals and pulls in 3 layers
198 
207 
208  // Pixel forward detector has 2 sides, 2 disks per side, 2 panels per disk and either 3 or 4 plaquettes per blade
209  // Panel 1 has 4 plaquettes
210  // Panel 2 has 3 plaquettes
211 
212  // Negative Z side
213  // Panel 1: 2 disks, 4 plaquets
214 
239 
240  // Panel 2: 2 disks, 3 plaquets
265 
266  // Positive Z side
267  // Panel 1: 2 disks, 4 plaquets
292 
293  // Panel 2: 2 disks, 3 plaquets
318 
319  // All disks and plaquettes together
320 
321  // Negative Z side, panel 1
346 
351 
352  // Negative Z side, panel 2
377 
382 
383  // Positive Z side, panel 1
408 
413 
414  // Positive Z side, panel 2
439 
444 
445  // all hits (not only from tracks)
448 
453 
458 
459  // control histograms
462 
463 
464  // variables that go in the output tree
465  float rechitx; // x position of hit
466  float rechity; // y position of hit
467  float rechitz; // z position of hit
468  float rechiterrx; // x position error of hit (error not squared)
469  float rechiterry; // y position error of hit (error not squared)
470 
471  float rechitresx; // difference between reconstructed hit x position and 'true' x position
472  float rechitresy; // difference between reconstructed hit y position and 'true' y position
473  float rechitpullx; // x residual divideded by error
474  float rechitpully; // y residual divideded by error
475 
476  int npix; // number of pixel in the cluster
477  int nxpix; // size of cluster (number of pixels) along x direction
478  int nypix; // size of cluster (number of pixels) along y direction
479  float charge; // total charge in cluster
480 
481  float alpha; // track angle in the xz plane of the module local coordinate system
482  float beta; // track angle in the yz plane of the module local coordinate system
483 
484  float phi; // polar track angle
485  float eta; // pseudo-rapidity (function of theta, the azimuthal angle)
486 
487  int subdetId;
488  int layer;
489  int ladder;
490  int mod;
491  int side;
492  int disk;
493  int blade;
494  int panel;
495  int plaq;
496  int half; // half = 1 if the barrel module is half size and 0 if it is full size (only defined for barrel)
497  int flipped; // flipped = 1 if the module is flipped and 0 if non-flipped (only defined for barrel)
498 
499  int nsimhit; // number of simhits associated with a rechit
500  int pidhit; // PID of the particle that produced the simHit associated with the recHit
501 
502  float simhitx; // true x position of hit
503  float simhity; // true y position of hit
504 
505  int evt;
506  int run;
507 
508  TFile * tfile_;
509  TTree * t_;
510 };
511 
512 #endif
MonitorElement * meWPullXvsAlphaBarrelNonFlippedLadders
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]
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]