00001 #ifndef TAUANALYSISTOOLS_TAUEFFICIENCYTRIGGERTOOL_H
00002 #define TAUANALYSISTOOLS_TAUEFFICIENCYTRIGGERTOOL_H
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #include "AsgTools/AsgTool.h"
00016
00017
00018 #include "xAODTau/TauJet.h"
00019 #include "xAODTruth/TruthParticle.h"
00020 #include "PATInterfaces/CorrectionCode.h"
00021
00022
00023 #include "TauAnalysisTools/Enums.h"
00024 #include "TauAnalysisTools/ITauEfficiencyCorrectionsTool.h"
00025 #include "TauAnalysisTools/HelperFunctions.h"
00026 #include "TauAnalysisTools/CommonEfficiencyTool.h"
00027
00028
00029 #include "TROOT.h"
00030 #include "TClass.h"
00031 #include "TFile.h"
00032 #include "TH1F.h"
00033 #include "TF1.h"
00034 #include "TKey.h"
00035
00036 namespace TauAnalysisTools
00037 {
00038
00039
00040 class TauEfficiencyCorrectionsTool;
00041
00042 class TauEfficiencyTriggerTool
00043 : public CommonEfficiencyTool
00044 {
00045 ASG_TOOL_CLASS( TauEfficiencyTriggerTool,
00046 TauAnalysisTools::ITauEfficiencyCorrectionsTool )
00047
00048 public:
00049
00050 TauEfficiencyTriggerTool(std::string sName);
00051
00052 StatusCode initialize();
00053
00054 virtual CP::CorrectionCode getEfficiencyScaleFactor(const xAOD::TauJet& tau, double& dEfficiencyScaleFactor);
00055
00056 virtual CP::SystematicCode applySystematicVariation ( const CP::SystematicSet& sSystematicSet);
00057
00058 virtual StatusCode setRunNumber(int iRunNumber);
00059
00060 bool isSupportedRunNumber(int iRunNumber);
00061
00062 protected:
00063
00064 std::string convertPeriodToStr();
00065
00066 e_DataPeriod m_ePeriod;
00067 int m_ePeriodBinning;
00068
00069 int m_iMinRunNumber;
00070 int m_iMaxRunNumber;
00071 };
00072 }
00073
00074 #endif // TAUANALYSISTOOLS_TAUEFFICIENCYTRIGGERTOOL_H