ATLAS Offline Software
TopEventMaker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3  */
4 #ifndef ANALYSISTOP_TOPEVENT_TOPEVENTMAKER_H
5 #define ANALYSISTOP_TOPEVENT_TOPEVENTMAKER_H
6 
7 // system include(s):
8 #include <memory>
9 #include <vector>
10 
11 // Framework include(s):
12 #include "AsgTools/AsgTool.h"
13 
14 #include "TopEvent/Event.h"
17 #include "TopEvent/RCJet.h"
18 
19 
20 class RCJet;
21 
22 namespace top {
23  class TopConfig;
24 
25 
32  class TopEventMaker final: public asg::AsgTool {
33  public:
34  explicit TopEventMaker(const std::string& name);
35  virtual ~TopEventMaker() {}
37 
38  // Delete Standard constructors
39  TopEventMaker(const TopEventMaker& rhs) = delete;
40  TopEventMaker(TopEventMaker&& rhs) = delete;
41  TopEventMaker& operator = (const TopEventMaker& rhs) = delete;
42 
59  top::Event makeTopEvent(const xAOD::SystematicEvent* currentSystematic);
60 
63  const xAOD::SystematicEventContainer* systematicEvents(const std::string& sgKey) const;
64  private:
65 
68 
69  std::shared_ptr<top::TopConfig> m_config;
70  std::unique_ptr<RCJet> m_rc;
71  std::map<std::string, std::unique_ptr<RCJet> > m_VarRC;
72  std::vector<std::string> m_VarRCJetRho;
73  std::vector<std::string> m_VarRCJetMassScale;
74 
75  static bool s_hasTruthEvent; // one-time check at first event we loop over
76  };
77 }
78 #endif
asg::AsgTool
Base class for the dual-use tool implementation classes.
Definition: AsgTool.h:47
top::TopEventMaker::m_VarRC
std::map< std::string, std::unique_ptr< RCJet > > m_VarRC
Definition: TopEventMaker.h:71
top::TopEventMaker::decorateTopEventSoftMuons
void decorateTopEventSoftMuons(top::Event &event)
Definition: TopEventMaker.cxx:633
top
TopConfig A simple configuration that is NOT a singleton.
Definition: AnalysisTrackingHelper.cxx:58
top::TopEventMaker::s_hasTruthEvent
static bool s_hasTruthEvent
Definition: TopEventMaker.h:75
top::TopEventMaker::m_VarRCJetRho
std::vector< std::string > m_VarRCJetRho
Definition: TopEventMaker.h:72
top::TopEventMaker::makeTopEvent
top::Event makeTopEvent(const xAOD::SystematicEvent *currentSystematic)
Make a top::Event from a xAOD::SystematicEvent.
Definition: TopEventMaker.cxx:80
top::TopEventMaker::TopEventMaker
TopEventMaker(const std::string &name)
Definition: TopEventMaker.cxx:34
RCJet
Definition: RCJet.h:55
SystematicEvent.h
top::TopEventMaker::m_rc
std::unique_ptr< RCJet > m_rc
Definition: TopEventMaker.h:70
top::TopEventMaker::TopEventMaker
TopEventMaker(const TopEventMaker &rhs)=delete
top::TopEventMaker::m_VarRCJetMassScale
std::vector< std::string > m_VarRCJetMassScale
Definition: TopEventMaker.h:73
top::TopEventMaker
TopEventMaker produce top::Event objects from xAOD::SystematicEvent objects.
Definition: TopEventMaker.h:32
top::TopEventMaker::initialize
StatusCode initialize()
Dummy implementation of the initialisation function.
Definition: TopEventMaker.cxx:40
event
POOL::TEvent event(POOL::TEvent::kClassAccess)
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
top::TopEventMaker::m_config
std::shared_ptr< top::TopConfig > m_config
Definition: TopEventMaker.h:69
top::TopEventMaker::decorateTopEvent
void decorateTopEvent(top::Event &event)
Definition: TopEventMaker.cxx:628
Event.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
top::TopEventMaker::TopEventMaker
TopEventMaker(TopEventMaker &&rhs)=delete
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
top::TopEventMaker::operator=
TopEventMaker & operator=(const TopEventMaker &rhs)=delete
xAOD::SystematicEvent
SystematicEvent A simple xAOD class which we can persist into a mini-xAOD The xAOD EDM is way too com...
Definition: SystematicEvent.h:27
top::TopEventMaker::~TopEventMaker
virtual ~TopEventMaker()
Definition: TopEventMaker.h:35
top::Event
Very simple class to hold event data after reading from a file.
Definition: Event.h:49
AsgTool.h
top::TopEventMaker::systematicEvents
const xAOD::SystematicEventContainer * systematicEvents(const std::string &sgKey) const
As top-xaod isn't an asg::AsgTool, it doesn't have access to all the information Very annoying.
Definition: TopEventMaker.cxx:73
SystematicEventContainer.h
RCJet.h