Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:33:09

0001 class HTrackVariables;
0002 class HResolution;
0003 class TFile;
0004 class SimTrack;
0005 class TrajectoryStateOnSurface;
0006 class FreeTrajectoryState;
0007 
0008 #include "TString.h"
0009 #include <string>
0010 #include <DQMServices/Core/interface/DQMStore.h>
0011 
0012 class HTrack {
0013 public:
0014   typedef dqm::legacy::DQMStore DQMStore;
0015   typedef dqm::legacy::MonitorElement MonitorElement;
0016 
0017   HTrack(DQMStore::IBooker &, std::string, std::string name, std::string whereIs = "");
0018 
0019   double pull(double rec, double sim, double sigmarec);
0020 
0021   double resolution(double rec, double sim);
0022 
0023   void computeResolution(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso);
0024 
0025   void computeTDRResolution(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso);
0026 
0027   void computePull(const FreeTrajectoryState &fts, SimTrack &simTracks, HResolution *hReso);
0028 
0029   void computeResolutionAndPull(TrajectoryStateOnSurface &vtx, SimTrack &simTrack);
0030 
0031   void computeResolutionAndPull(const FreeTrajectoryState &fts, SimTrack &simTrack);
0032 
0033   void Fill(TrajectoryStateOnSurface &);
0034   void Fill(const FreeTrajectoryState &);
0035   void FillDeltaR(double);
0036 
0037   double computeEfficiency(HTrackVariables *sim, DQMStore::IBooker &);
0038 
0039 private:
0040   HTrackVariables *hVariables;
0041 
0042   // Global Resolution
0043   HResolution *hResolution;
0044   HResolution *hPull;
0045 
0046   // TDR Resolution
0047   HResolution *hTDRResolution;
0048   HResolution *hTDRPull;
0049 
0050   // [5-10] GeV range
0051   HResolution *hResolution_5_10;
0052   HResolution *hTDRResolution_5_10;
0053   HResolution *hPull_5_10;
0054 
0055   // [10-40] GeV range
0056   HResolution *hResolution_10_40;
0057   HResolution *hTDRResolution_10_40;
0058   HResolution *hPull_10_40;
0059 
0060   // [40-70] GeV range
0061   HResolution *hResolution_40_70;
0062   HResolution *hTDRResolution_40_70;
0063   HResolution *hPull_40_70;
0064 
0065   // [70-100] GeV range
0066   HResolution *hResolution_70_100;
0067   HResolution *hTDRResolution_70_100;
0068   HResolution *hPull_70_100;
0069 
0070   // eta range |eta|<0.8
0071   HResolution *hResolution_08;
0072   HResolution *hTDRResolution_08;
0073   HResolution *hPull_08;
0074 
0075   // eta range 0.8<|eta|<1.2
0076   HResolution *hResolution_08_12;
0077   HResolution *hTDRResolution_08_12;
0078   HResolution *hPull_08_12;
0079 
0080   // eta range 1.2<|eta|<2.1
0081   HResolution *hResolution_12_21;
0082   HResolution *hTDRResolution_12_21;
0083   HResolution *hPull_12_21;
0084 
0085   // eta range 1.2<|eta|<2.4
0086   HResolution *hResolution_12_24;
0087   HResolution *hTDRResolution_12_24;
0088   HResolution *hPull_12_24;
0089 
0090   // eta range 1.2<eta<2.1
0091   HResolution *hResolution_12_21_plus;
0092   HResolution *hTDRResolution_12_21_plus;
0093   HResolution *hPull_12_21_plus;
0094 
0095   // eta range 1.2<eta<2.4
0096   HResolution *hResolution_12_24_plus;
0097   HResolution *hTDRResolution_12_24_plus;
0098   HResolution *hPull_12_24_plus;
0099 
0100   // eta range -2.1<eta<-1.2
0101   HResolution *hResolution_12_21_minus;
0102   HResolution *hTDRResolution_12_21_minus;
0103   HResolution *hPull_12_21_minus;
0104 
0105   // eta range -2.4<eta<-1.2
0106   HResolution *hResolution_12_24_minus;
0107   HResolution *hTDRResolution_12_24_minus;
0108   HResolution *hPull_12_24_minus;
0109 
0110   TString theName;
0111   TString where;
0112 
0113   bool doSubHisto;
0114 };