ATLAS Offline Software
Loading...
Searching...
No Matches
WriteThinnedData.h
Go to the documentation of this file.
1
2
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
29
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
50class AthExParticles;
51//class AthExIParticles;
52namespace SG {
53 class ThinningDecisionBase;
54}
55
56namespace AthExThinning {
57
59{
60public:
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
76protected:
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
107protected:
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
An STL vector of pointers that by default owns its pointed-to elements.
Property holding a SG store/key/clid from which a ReadHandle is made.
HandleKey object for adding thinning to an object.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
StringProperty m_elephantinoName
Elephantino input location.
StatusCode test(const EventContext &ctx, int testNum, const std::string &testName)
Exercise the following thinning tests: [testName = "test1"] retrieve a AthExParticles container remov...
StatusCode doThinningTest2(const EventContext &ctx, const SG::ThinningHandleKey< AthExParticles > &particlesKey) const
Apply the real thinning.
StringProperty m_particlesName
Particles input location.
virtual StatusCode initialize() override
WriteThinnedData()
Default constructor:
SG::ReadHandleKeyArray< AthExElephantino > m_elephantinoKeys
SG::ThinningHandleKey< AthExParticles > m_particlesKey1
StringProperty m_decayName
Decay input location.
WriteThinnedData(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
SG::ThinningHandleKey< AthExParticles > m_particlesKey2
SG::ReadHandleKeyArray< AthExIParticles > m_iparticlesKeys
SG::ReadHandleKeyArray< AthExDecay > m_decayKeys
SG::ThinningHandleKey< AthExIParticles > m_iparticlesKey3
virtual StatusCode execute() override
BooleanArrayProperty m_filter
Filter to apply on the Particles.
StatusCode doThinningTest3(const EventContext &ctx, const SG::ThinningHandleKey< AthExIParticles > &iparticlesKey) const
Apply the real thinning.
StatusCode doThinningTest1(const EventContext &ctx, const SG::ThinningHandleKey< AthExParticles > &particlesKey) const
Apply the real thinning.
virtual ~WriteThinnedData()
Destructor:
virtual StatusCode finalize() override
HandleKey object for adding thinning to an object.
Forward declaration.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray