CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_4/src/Validation/RecoMuon/src/HTrack.h

Go to the documentation of this file.
00001 class HTrackVariables;  
00002 class HResolution;
00003 class TFile;
00004 class SimTrack;
00005 class TrajectoryStateOnSurface;
00006 class FreeTrajectoryState;
00007 class DQMStore;
00008 
00009 #include "TString.h" 
00010 #include <string>
00011 
00012 class HTrack{
00013 
00014  public: 
00015   HTrack(std::string, std::string name, std::string whereIs ="");
00016   
00017   
00018   double pull(double rec,double sim, double sigmarec);
00019   
00020   double resolution(double rec,double sim);
00021   
00022   void computeResolution(FreeTrajectoryState& fts,
00023                          SimTrack &simTracks,
00024                          HResolution* hReso);
00025   
00026   void computeTDRResolution(FreeTrajectoryState& fts,
00027                             SimTrack &simTracks,
00028                             HResolution* hReso);
00029   
00030   void computePull(FreeTrajectoryState& fts,
00031                    SimTrack &simTracks,
00032                    HResolution* hReso); 
00033 
00034 
00035   void computeResolutionAndPull(TrajectoryStateOnSurface &vtx,
00036                                 SimTrack &simTrack);
00037 
00038   void computeResolutionAndPull(FreeTrajectoryState& fts, 
00039                                 SimTrack& simTrack);
00040   
00041   void Fill(TrajectoryStateOnSurface &);
00042   void Fill(FreeTrajectoryState &);
00043   void FillDeltaR(double);
00044 
00045   double computeEfficiency(HTrackVariables *sim);
00046 
00047  private:
00048   DQMStore * dbe_;
00049 
00050   HTrackVariables *hVariables;  
00051   
00052   // Global Resolution
00053   HResolution *hResolution;  
00054   HResolution *hPull;
00055 
00056   // TDR Resolution
00057   HResolution *hTDRResolution; 
00058   HResolution *hTDRPull;
00059 
00060   // [5-10] GeV range
00061   HResolution *hResolution_5_10;
00062   HResolution *hTDRResolution_5_10;
00063   HResolution *hPull_5_10;
00064 
00065   // [10-40] GeV range
00066   HResolution *hResolution_10_40; 
00067   HResolution *hTDRResolution_10_40;
00068   HResolution *hPull_10_40; 
00069 
00070   // [40-70] GeV range
00071   HResolution *hResolution_40_70; 
00072   HResolution *hTDRResolution_40_70;
00073   HResolution *hPull_40_70; 
00074   
00075   // [70-100] GeV range
00076   HResolution *hResolution_70_100;
00077   HResolution *hTDRResolution_70_100;
00078   HResolution *hPull_70_100;
00079 
00080   // eta range |eta|<0.8
00081   HResolution *hResolution_08;
00082   HResolution *hTDRResolution_08;
00083   HResolution *hPull_08;
00084   
00085   // eta range 0.8<|eta|<1.2
00086   HResolution *hResolution_08_12;
00087   HResolution *hTDRResolution_08_12;
00088   HResolution *hPull_08_12;
00089   
00090   // eta range 1.2<|eta|<2.1
00091   HResolution *hResolution_12_21;
00092   HResolution *hTDRResolution_12_21;
00093   HResolution *hPull_12_21;
00094 
00095   // eta range 1.2<|eta|<2.4
00096   HResolution *hResolution_12_24;
00097   HResolution *hTDRResolution_12_24;
00098   HResolution *hPull_12_24;
00099 
00100   // eta range 1.2<eta<2.1
00101   HResolution *hResolution_12_21_plus;
00102   HResolution *hTDRResolution_12_21_plus;
00103   HResolution *hPull_12_21_plus;
00104 
00105   // eta range 1.2<eta<2.4
00106   HResolution *hResolution_12_24_plus;
00107   HResolution *hTDRResolution_12_24_plus;
00108   HResolution *hPull_12_24_plus;
00109 
00110   // eta range -2.1<eta<-1.2
00111   HResolution *hResolution_12_21_minus;
00112   HResolution *hTDRResolution_12_21_minus;
00113   HResolution *hPull_12_21_minus;
00114 
00115   // eta range -2.4<eta<-1.2
00116   HResolution *hResolution_12_24_minus;
00117   HResolution *hTDRResolution_12_24_minus;
00118   HResolution *hPull_12_24_minus;
00119 
00120   TString theName;
00121   TString where;
00122 
00123   bool doSubHisto;
00124 };