ATLAS Offline Software
Loading...
Searching...
No Matches
SumOfWeightsAlg.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
5*/
6
7// Calls IWeightTool objects for each event and stores SumOfWeights
8// for each of these computations
9//
10// Author: Danilo Ferreira de Lima <dferreir@cern.ch>
12
13#ifndef REWEIGHTUTILS_SUMOFWEIGHTSALG_H
14#define REWEIGHTUTILS_SUMOFWEIGHTSALG_H
15
16// Include the base class
20#include "GaudiKernel/ToolHandle.h"
21
22#include <string>
23#include <vector>
24
25class IWeightTool;
26
28
29 public:
30 using AthReentrantAlgorithm::AthReentrantAlgorithm;
31
33 virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE () override;
34 virtual StatusCode execute(const EventContext& ctx) const override;
35
36 private:
37
39 ServiceHandle<ICutFlowSvc> m_cutFlowSvc{ this, "CutFlowSvc", "CutFlowSvc/CutFlowSvc", "Pointer to the CutFlowSvc"};
40 PublicToolHandleArray<IWeightTool> m_weightTools{ this, "WeightTools", {}, "List of WeightTools to be called for each event"};
41
43 std::vector<CutIdentifier> m_cutIDs;
44
45};
46
47#endif //> !REWEIGHTUTILS_SUMOFWEIGHTSALG_H
Define macros for attributes used to control the static checker.
An algorithm that can be simultaneously executed in multiple threads.
Interface for tools that want to calculate a weight from different event information.
Definition IWeightTool.h:21
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override
Athena algorithm's Hooks.
PublicToolHandleArray< IWeightTool > m_weightTools
std::vector< CutIdentifier > m_cutIDs
cut IDs
ServiceHandle< ICutFlowSvc > m_cutFlowSvc
Athena configured components.
virtual StatusCode execute(const EventContext &ctx) const override
void initialize()