00001
00002
00003
00004
00005
00007
00008 #ifndef WEIGHTSAGREGATOR_H
00009 #define WEIGHTSAGREGATOR_H 1
00010
00011
00012 #include "AsgTools/ToolHandle.h"
00013 #include "AsgTools/ToolHandleArray.h"
00014 #include "ReweightUtils/WeightToolBase.h"
00015 #include "PATInterfaces/IWeightTool.h"
00016
00017
00018 class WeightsAgregator : public WeightToolBase
00019 {
00021 ASG_TOOL_CLASS2( WeightsAgregator, IWeightTool, IObservableTool )
00022
00023 public:
00025 WeightsAgregator( const std::string& name );
00026
00028 virtual ~WeightsAgregator() {};
00029
00031 virtual StatusCode initialize() override;
00032
00034 virtual double evaluate( const xAOD::IParticle* part ) const override;
00035
00037 virtual double getWeight() const override;
00038
00039
00040 private:
00042 std::string m_eventInfoName;
00043
00045 mutable ToolHandleArray< IWeightTool > m_toolArray;
00046
00047 };
00048
00049 #endif //> !WEIGHTSAGREGATOR_H