Go to the documentation of this file.00001 #ifndef FORIA_MINBIAS_TRACK_EFFICIENCY_HH
00002 #define FORIA_MINBIAS_TRACK_EFFICIENCY_HH
00003
00004 #include "ForIA/AnalysisTools/TrackSelection.hh"
00005
00006 #include <vector>
00007 #include <map>
00008
00009 class TH1;
00010
00011 namespace ForIA{
00012
00013 using std::vector;
00014 using std::map;
00015
00016 class MinBiasTrackEfficiency{
00017
00018 public:
00019
00020 MinBiasTrackEfficiency();
00021
00023 bool setEvent(const Event &evt);
00024
00026 double eventWeight();
00027
00029 double eventEfficiency();
00030
00032 double vertexEfficiency();
00033
00035 double triggerEfficiency();
00036
00038 double mcZWeight();
00039
00042 bool setUseVtx(bool vtx=true);
00043
00046 bool setUseTrigger(bool trig=true);
00047
00048 private:
00049
00050 void initialise();
00051
00052 bool m_doInitialise;
00053
00054 vector<double> m_vtxEfficiencyVsNTrk;
00055
00056 int m_vtxNTrkOffset;
00057
00058 map<double, double> m_vtxEfficiencyVsZ0_4Trk;
00059 map<double, double> m_vtxEfficiencyVsZ0_3Trk;
00060 map<double, double> m_vtxEfficiencyVsZ0_2TrkGt200;
00061 map<double, double> m_vtxEfficiencyVsZ0_2TrkLt200;
00062
00063 map<double, double> m_vtxWeightVsZ0Truth;
00064
00065 void fillMap(const TH1* histo, map<double, double> *toMap);
00066
00067 vector<double> m_trigEfficiencyVsNTrk;
00068
00069 double minDeltaZ();
00070
00071 bool m_doVtx;
00072 bool m_doTrigger;
00073
00074 bool m_canChangeSettings;
00075
00076 bool m_nextEvent;
00077
00078 double m_vtx_z;
00079 bool m_gotTruth;
00080
00081 TrackSelection m_trackSelection;
00082
00083 };
00084 }
00085
00086 #endif