ATLAS Offline Software
WriteThinnedData.h
Go to the documentation of this file.
1 
3 /*
4  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 // WriteThinnedData.h
8 // Header file for class WriteThinnedData
9 // Author: S.Binet<binet@cern.ch>
11 #ifndef ATHEXTHINNING_WRITETHINNEDDATA_H
12 #define ATHEXTHINNING_WRITETHINNEDDATA_H
13 
30 // STL includes
31 #include <string>
32 
33 
34 // FrameWork includes
35 #include "GaudiKernel/ServiceHandle.h"
40 
41 // DataModel includes
43 
44 // AthExThinning includes
48 
49 // Forward declaration
50 class AthExParticles;
51 //class AthExIParticles;
52 namespace SG {
53  class ThinningDecisionBase;
54 }
55 
56 namespace AthExThinning {
57 
59 {
60 public:
62  WriteThinnedData( const std::string& name, ISvcLocator* pSvcLocator );
63 
65  virtual ~WriteThinnedData();
66 
67  // Assignment operator:
68  //WriteThinnedData &operator=(const WriteThinnedData &alg);
69 
70  // Athena algorithm's Hooks
71  virtual StatusCode initialize() override;
72  virtual StatusCode execute() override;
73  virtual StatusCode finalize() override;
74 
75 
76 protected:
77 
80 
91  StatusCode test( const EventContext& ctx,
92  int testNum, const std::string& testName );
93 
95  StatusCode doThinningTest1( const EventContext& ctx,
96  const SG::ThinningHandleKey<AthExParticles>& particlesKey ) const;
97 
99  StatusCode doThinningTest2( const EventContext& ctx,
100  const SG::ThinningHandleKey<AthExParticles>& particlesKey ) const;
101 
103  StatusCode doThinningTest3( const EventContext& ctx,
104  const SG::ThinningHandleKey<AthExIParticles>& iparticlesKey ) const;
105 
106 
107 protected:
108  // Containers
109 
111  StringProperty m_particlesName;
112 
114  { this, "ParticlesKey1", "", "" };
116  { this, "ParticlesKey2", "", "" };
117 
119  { this, "IParticlesKeys", {}, "" };
120 
122  { this, "IParticlesKey3", "", "" };
123 
125  StringProperty m_decayName
126  { this, "Decay", "TwoBodyDecay", "Input location of Decay" };
127 
129  { this, "DecayKeys", {}, "" };
130 
132  StringProperty m_elephantinoName
133  { this, "Elephantino", "PinkElephantino", "Input location of Elephantino" };
134 
136  { this, "ElephantinoKeys", {}, "" };
137 
140  BooleanArrayProperty m_filter;
141 
142 };
143 
146 
150 
151 } //> end namespace AthExThinning
152 
153 #endif //> ATHEXTHINNING_WRITETHINNEDDATA_H
ReadHandleKeyArray.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
AthExThinning::WriteThinnedData::m_particlesKey1
SG::ThinningHandleKey< AthExParticles > m_particlesKey1
Definition: WriteThinnedData.h:114
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
SG::ThinningHandleKey< AthExParticles >
AthExThinning::WriteThinnedData
Definition: WriteThinnedData.h:59
AthExThinning::WriteThinnedData::WriteThinnedData
WriteThinnedData()
Default constructor:
AthExThinning::WriteThinnedData::m_elephantinoName
StringProperty m_elephantinoName
Elephantino input location.
Definition: WriteThinnedData.h:133
AthExThinning::WriteThinnedData::doThinningTest3
StatusCode doThinningTest3(const EventContext &ctx, const SG::ThinningHandleKey< AthExIParticles > &iparticlesKey) const
Apply the real thinning.
Definition: WriteThinnedData.cxx:378
AthExThinning::WriteThinnedData::~WriteThinnedData
virtual ~WriteThinnedData()
Destructor:
Definition: WriteThinnedData.cxx:64
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
AthExThinning
Definition: CreateData.h:30
AthExThinning::WriteThinnedData::m_iparticlesKey3
SG::ThinningHandleKey< AthExIParticles > m_iparticlesKey3
Definition: WriteThinnedData.h:122
AthExIParticles.h
AthExThinning::WriteThinnedData::execute
virtual StatusCode execute() override
Definition: WriteThinnedData.cxx:101
AthAlgorithm.h
AthExDecay.h
AthExThinning::WriteThinnedData::initialize
virtual StatusCode initialize() override
Definition: WriteThinnedData.cxx:69
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthExThinning::WriteThinnedData::doThinningTest1
StatusCode doThinningTest1(const EventContext &ctx, const SG::ThinningHandleKey< AthExParticles > &particlesKey) const
Apply the real thinning.
Definition: WriteThinnedData.cxx:219
AthAlgorithm
Definition: AthAlgorithm.h:47
AthExThinning::WriteThinnedData::m_decayKeys
SG::ReadHandleKeyArray< AthExDecay > m_decayKeys
Definition: WriteThinnedData.h:129
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
AthExThinning::WriteThinnedData::m_iparticlesKeys
SG::ReadHandleKeyArray< AthExIParticles > m_iparticlesKeys
Definition: WriteThinnedData.h:119
AthExThinning::WriteThinnedData::m_particlesKey2
SG::ThinningHandleKey< AthExParticles > m_particlesKey2
Definition: WriteThinnedData.h:116
AthExThinning::WriteThinnedData::m_particlesName
StringProperty m_particlesName
Particles input location.
Definition: WriteThinnedData.h:111
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
AthExThinning::WriteThinnedData::m_filter
BooleanArrayProperty m_filter
Filter to apply on the Particles.
Definition: WriteThinnedData.h:140
AthExElephantino.h
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
AthExThinning::WriteThinnedData::m_elephantinoKeys
SG::ReadHandleKeyArray< AthExElephantino > m_elephantinoKeys
Definition: WriteThinnedData.h:136
AthExThinning::WriteThinnedData::doThinningTest2
StatusCode doThinningTest2(const EventContext &ctx, const SG::ThinningHandleKey< AthExParticles > &particlesKey) const
Apply the real thinning.
Definition: WriteThinnedData.cxx:298
AthExThinning::WriteThinnedData::test
StatusCode test(const EventContext &ctx, int testNum, const std::string &testName)
Exercise the following thinning tests: [testName = "test1"] retrieve a AthExParticles container remov...
Definition: WriteThinnedData.cxx:125
AthExThinning::WriteThinnedData::finalize
virtual StatusCode finalize() override
Definition: WriteThinnedData.cxx:95
AthExThinning::WriteThinnedData::m_decayName
StringProperty m_decayName
Decay input location.
Definition: WriteThinnedData.h:126
AthExParticles
Definition: AthExParticles.h:37