ATLAS Offline Software
IxAODtoHepMCTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /*
6  * dual-use tool for converting xAOD truth events back to HepMC
7  * Principal Authors (responsible for the core conversion algorithm): Josh McFayden and James Catmore
8  * Tool Author: Jim Lacey (Carleton University)
9  * ... updated tool interface to be dual-use
10  * ... added missing PDF information and requirements to allow running on full sim (remove Geant4 secondaries)
11  * <james.lacey@cern.ch,jlacey@physics.carleton.ca>
12  * <dag.gillberg@cern.ch>
13  */
14 
15 #ifndef GENINTERFACES_IXAODTOHEPMCTOOL_H
16 #define GENINTERFACES_IXAODTOHEPMCTOOL_H 1
17 
18 #include "AsgTools/IAsgTool.h"
19 
20 
21 // STL includes
22 #include <string>
23 #include <map>
24 
27 
28 #include "AtlasHepMC/GenEvent.h"
29 #include "AtlasHepMC/GenParticle.h"
30 #include "AtlasHepMC/GenVertex.h"
32 
33 
34 class IxAODtoHepMCTool : public virtual asg::IAsgTool {
35  public:
37  virtual ~ IxAODtoHepMCTool () { };
38  public:
39  virtual StatusCode initialize() = 0;
40  virtual StatusCode finalize () = 0;
41  virtual std::vector<HepMC::GenEvent> getHepMCEvents(const xAOD::TruthEventContainer* xTruthEventContainer, const xAOD::EventInfo* eventInfo) const = 0;
42 };
43 
44 #endif //> !GENINTERFACES_IXAODTOHEPMCTOOL_H
GenEvent.h
GenVertex.h
asg::IAsgTool
Base class for the dual-use tool interface classes.
Definition: IAsgTool.h:41
IxAODtoHepMCTool::finalize
virtual StatusCode finalize()=0
GenParticle.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ASG_TOOL_INTERFACE
#define ASG_TOOL_INTERFACE(CLASSNAME)
Definition: AsgToolMacros.h:40
IAsgTool.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
MagicNumbers.h
EventInfo.h
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
IxAODtoHepMCTool
Definition: IxAODtoHepMCTool.h:34
IxAODtoHepMCTool::getHepMCEvents
virtual std::vector< HepMC::GenEvent > getHepMCEvents(const xAOD::TruthEventContainer *xTruthEventContainer, const xAOD::EventInfo *eventInfo) const =0
IxAODtoHepMCTool::initialize
virtual StatusCode initialize()=0
TruthEventContainer.h