00001 #ifndef CPANALYSISEXAMPLES_TOOLEXAMPLESALG_H
00002 #define CPANALYSISEXAMPLES_TOOLEXAMPLESALG_H 1
00003
00004 #include "AthAnalysisBaseComps/AthAnalysisAlgorithm.h"
00005
00007 #include "GoodRunsLists/IGoodRunsListSelectionTool.h"
00008 #include "PileupReweighting/PileupReweightingTool.h"
00009 #include "TrigDecisionTool/TrigDecisionTool.h"
00010 #include "TriggerMatchingTool/IMatchingTool.h"
00011 #include "AssociationUtils/IOverlapRemovalTool.h"
00012
00014 #include "ElectronPhotonFourMomentumCorrection/IEgammaCalibrationAndSmearingTool.h"
00015 #include "IsolationCorrections/IIsolationCorrectionTool.h"
00016 #include "PATCore/IAsgSelectionTool.h"
00017
00018 #include "IsolationSelection/IIsolationSelectionTool.h"
00019 #include "IsolationSelection/IIsolationCloseByCorrectionTool.h"
00020
00021 #include "ElectronEfficiencyCorrection/IAsgElectronEfficiencyCorrectionTool.h"
00022
00024 #include "MuonMomentumCorrections/IMuonCalibrationAndSmearingTool.h"
00025 #include "MuonSelectorTools/IMuonSelectionTool.h"
00026
00027 #include "MuonEfficiencyCorrections/IMuonEfficiencyScaleFactors.h"
00028
00029
00031 #include "JetCalibTools/IJetCalibrationTool.h"
00032 #include "JetInterface/IJetUpdateJvt.h"
00033 #include "JetJvtEfficiency/IJetJvtEfficiency.h"
00034 #include "JetInterface/IJetSelector.h"
00035
00036
00037
00038
00039
00040
00041 class ToolExamplesAlg: public ::AthAnalysisAlgorithm {
00042 public:
00043 ToolExamplesAlg( const std::string& name, ISvcLocator* pSvcLocator );
00044 virtual ~ToolExamplesAlg();
00045
00046 virtual StatusCode initialize();
00047 virtual StatusCode firstExecute();
00048 virtual StatusCode execute();
00049 virtual StatusCode finalize();
00050
00051 virtual StatusCode beginInputFile();
00052
00053 private:
00054
00056 ToolHandle<IGoodRunsListSelectionTool> m_grl;
00057 ToolHandle<CP::IPileupReweightingTool> m_prw;
00058 ToolHandle<Trig::TrigDecisionTool> m_tdt;
00059 ToolHandle<Trig::IMatchingTool> m_tmt;
00060 ToolHandle<ORUtils::IOverlapRemovalTool> m_or;
00061
00063 ToolHandle<CP::IEgammaCalibrationAndSmearingTool> m_elCalib;
00064 ToolHandle<CP::IIsolationCorrectionTool> m_elIsoCalib;
00065 ToolHandle<IAsgSelectionTool> m_elSelection;
00066 ToolHandle<CP::IIsolationSelectionTool> m_elIsoSelection;
00067 ToolHandle<CP::IIsolationCloseByCorrectionTool> m_elCorrectedIsoSelection;
00068
00069 ToolHandleArray<IAsgElectronEfficiencyCorrectionTool> m_elSFTools;
00070
00072 ToolHandle<CP::IMuonCalibrationAndSmearingTool> m_muCalib;
00073 ToolHandle<CP::IMuonSelectionTool> m_muSelectionTool;
00074 ToolHandle<CP::IIsolationSelectionTool> m_muIsoSelection;
00075
00076 ToolHandleArray<CP::IMuonEfficiencyScaleFactors> m_muSFTools;
00077
00079 ToolHandle<IJetCalibrationTool> m_jetCalib;
00080 ToolHandle<IJetSelector> m_jetCleaning;
00081 ToolHandle<CP::IJetJvtEfficiency> m_jvt;
00082
00083
00084 };
00085
00086 #endif //> !CPANALYSISEXAMPLES_TOOLEXAMPLESALG_H