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
0043 HResolution *hResolution;
0044 HResolution *hPull;
0045
0046
0047 HResolution *hTDRResolution;
0048 HResolution *hTDRPull;
0049
0050
0051 HResolution *hResolution_5_10;
0052 HResolution *hTDRResolution_5_10;
0053 HResolution *hPull_5_10;
0054
0055
0056 HResolution *hResolution_10_40;
0057 HResolution *hTDRResolution_10_40;
0058 HResolution *hPull_10_40;
0059
0060
0061 HResolution *hResolution_40_70;
0062 HResolution *hTDRResolution_40_70;
0063 HResolution *hPull_40_70;
0064
0065
0066 HResolution *hResolution_70_100;
0067 HResolution *hTDRResolution_70_100;
0068 HResolution *hPull_70_100;
0069
0070
0071 HResolution *hResolution_08;
0072 HResolution *hTDRResolution_08;
0073 HResolution *hPull_08;
0074
0075
0076 HResolution *hResolution_08_12;
0077 HResolution *hTDRResolution_08_12;
0078 HResolution *hPull_08_12;
0079
0080
0081 HResolution *hResolution_12_21;
0082 HResolution *hTDRResolution_12_21;
0083 HResolution *hPull_12_21;
0084
0085
0086 HResolution *hResolution_12_24;
0087 HResolution *hTDRResolution_12_24;
0088 HResolution *hPull_12_24;
0089
0090
0091 HResolution *hResolution_12_21_plus;
0092 HResolution *hTDRResolution_12_21_plus;
0093 HResolution *hPull_12_21_plus;
0094
0095
0096 HResolution *hResolution_12_24_plus;
0097 HResolution *hTDRResolution_12_24_plus;
0098 HResolution *hPull_12_24_plus;
0099
0100
0101 HResolution *hResolution_12_21_minus;
0102 HResolution *hTDRResolution_12_21_minus;
0103 HResolution *hPull_12_21_minus;
0104
0105
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 };