ATLAS Offline Software
Loading...
Searching...
No Matches
MergeTruthJetsTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef MCTRUTHSIMALGS_MERGETRUTHJETSTOOL_H
6#define MCTRUTHSIMALGS_MERGETRUTHJETSTOOL_H
7
9
12
13#include "Gaudi/Property.h"
14#include "GaudiKernel/ServiceHandle.h"
15#include "GaudiKernel/ToolHandle.h"
17#include "GaudiKernel/SystemOfUnits.h"
18
19#include <string>
20
25public:
26 MergeTruthJetsTool(const std::string& type,
27 const std::string& name,
28 const IInterface* parent);
30 StatusCode initialize() override final;
33 virtual StatusCode prepareEvent(const EventContext& ctx, unsigned int nInputEvents) override final;
36 virtual StatusCode mergeEvent(const EventContext& ctx) override final;
39 virtual StatusCode processBunchXing(int bunchXing,
40 SubEventIterator bSubEvents,
41 SubEventIterator eSubEvents) override final;
43 virtual StatusCode processAllSubEvents(const EventContext& ctx) override final;
44
45 // ///implementation of passing filter
46 // virtual bool filterPassed() const override final { return (!m_vetoOnInTime || m_filterPassed); }
47
49 virtual void resetFilter() override final { m_first_event=true; m_signal_max_pT=-1.; m_pileup_max_pT=-1.; m_filterPassed=true; }
50
51private:
53 virtual double processJetContainer(const xAOD::JetContainer* inputJetContainer, xAOD::JetContainer *outputJetContainer, const double& ptCut, const float& timeOfBCID, int eventNumber);
54 ServiceHandle<PileUpMergeSvc> m_pMergeSvc{this, "PileUpMergeSvc", "PileUpMergeSvc", ""};
55 Gaudi::Property<std::string> m_inputJetCollKey{this, "InputTruthJetCollKey", "AntiKt4TruthJets", ""};
56 Gaudi::Property<std::string> m_inTimeOutputJetCollKey{this, "InTimeOutputTruthJetCollKey", "InTimeAntiKt4TruthJets", ""};
57 Gaudi::Property<std::string> m_outOfTimeOutputJetCollKey{this, "OutOfTimeTruthJetCollKey", "OutOfTimeAntiKt4TruthJets", ""};
58 Gaudi::Property<double> m_inTimePtCut{this, "InTimePtCut", 10.0*Gaudi::Units::GeV, ""};
59 Gaudi::Property<double> m_outOfTimePtCut{this, "OutOfTimePtCut", 15.0*Gaudi::Units::GeV, ""};
60 Gaudi::Property<bool> m_activateFilter{this, "ActivateFilter", false, ""};
61 Gaudi::Property<bool> m_includeSignalJets{this, "IncludeSignalJets", false, ""};
62 std::unique_ptr< xAOD::JetContainer > m_inTimeOutputJetContainer{};
63 std::unique_ptr< xAOD::JetAuxContainer > m_inTimeOutputJetAuxContainer{};
64 std::unique_ptr< xAOD::JetContainer > m_outOfTimeOutputJetContainer{};
65 std::unique_ptr< xAOD::JetAuxContainer > m_outOfTimeOutputJetAuxContainer{};
66 bool m_first_event{true};
67 double m_signal_max_pT{-1.0};
68 double m_pileup_max_pT{-1.0};
69};
70#endif //MCTRUTHSIMALGS_MERGETRUTHJETSTOOL_H
std::vector< xAOD::EventInfo::SubEvent >::const_iterator SubEventIterator
Definition IPileUpTool.h:22
the preferred mechanism to access information from the different event stores in a pileup job.
helper base class IPileUpTool::toProcess().
Gaudi::Property< std::string > m_inputJetCollKey
std::unique_ptr< xAOD::JetContainer > m_outOfTimeOutputJetContainer
ServiceHandle< PileUpMergeSvc > m_pMergeSvc
virtual void resetFilter() override final
implementation of filter reset
virtual StatusCode mergeEvent(const EventContext &ctx) override final
called at the end of the subevts loop.
virtual StatusCode prepareEvent(const EventContext &ctx, unsigned int nInputEvents) override final
called before the subevts loop.
virtual StatusCode processAllSubEvents(const EventContext &ctx) override final
Merge the Truth JetContainers using the PileUpMergeSvc.
std::unique_ptr< xAOD::JetAuxContainer > m_outOfTimeOutputJetAuxContainer
Gaudi::Property< bool > m_activateFilter
virtual double processJetContainer(const xAOD::JetContainer *inputJetContainer, xAOD::JetContainer *outputJetContainer, const double &ptCut, const float &timeOfBCID, int eventNumber)
JetContainer Loop.
MergeTruthJetsTool(const std::string &type, const std::string &name, const IInterface *parent)
std::unique_ptr< xAOD::JetAuxContainer > m_inTimeOutputJetAuxContainer
StatusCode initialize() override final
Initialize.
std::unique_ptr< xAOD::JetContainer > m_inTimeOutputJetContainer
Gaudi::Property< double > m_inTimePtCut
virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final
called for each active bunch-crossing to process current SubEvents bunchXing is in ns
Gaudi::Property< std::string > m_inTimeOutputJetCollKey
Gaudi::Property< bool > m_includeSignalJets
Gaudi::Property< std::string > m_outOfTimeOutputJetCollKey
Gaudi::Property< double > m_outOfTimePtCut
PileUpToolBase(const std::string &type, const std::string &name, const IInterface *parent)
JetContainer_v1 JetContainer
Definition of the current "jet container version".