 |
ATLAS Offline Software
|
#include <PileUpMTAlg.h>
|
| PileUpMTAlg (const std::string &name, ISvcLocator *pSvcLocator) |
|
virtual | ~PileUpMTAlg () |
|
virtual StatusCode | initialize () override |
| uncomment and implement methods as required More...
|
|
virtual StatusCode | execute () override |
|
virtual StatusCode | finalize () override |
|
virtual bool | isClonable () const override |
|
virtual StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
StatusCode | get_ei (StoreGateSvc &sg, std::unique_ptr< const xAOD::EventInfo > &ei, std::unique_ptr< xAOD::EventAuxInfo > &eiAux, bool pileup=false) const |
|
unsigned int | get_BCID (int bc, unsigned int central_BCID) const |
|
StatusCode | add_subevt (const std::vector< std::uint32_t > &bcid, SG::WriteHandle< xAOD::EventInfo > &overlaidEvt, SG::WriteHandle< xAOD::EventInfoContainer > &puCont, ServiceHandle< IMinbiasSvc > &mbSvc, xAOD::EventInfo::PileUpType puType, int bc, const EventContext &ctx, unsigned long subevt_id, std::vector< std::uint64_t > &trace) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
Definition at line 71 of file PileUpMTAlg.h.
◆ StoreGateSvc_t
◆ PileUpMTAlg()
PileUpMTAlg::PileUpMTAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~PileUpMTAlg()
PileUpMTAlg::~PileUpMTAlg |
( |
| ) |
|
|
virtual |
◆ add_subevt()
Definition at line 88 of file PileUpMTAlg.cxx.
98 std::unique_ptr<const xAOD::EventInfo> ei;
99 std::unique_ptr<xAOD::EventAuxInfo> eiAux;
103 trace.push_back(mb_to_modify.eventNumber());
105 mb_to_modify.setBCID(
bcid[bc_idx]);
111 return StatusCode::FAILURE;
113 return StatusCode::SUCCESS;
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode PileUpMTAlg::execute |
( |
| ) |
|
|
overridevirtual |
Definition at line 184 of file PileUpMTAlg.cxx.
186 std::string trace_buf{};
187 auto trace = std::back_inserter(trace_buf);
189 const EventContext& ctx = Gaudi::Hive::currentContext();
190 const auto& evtID = ctx.eventID();
193 setFilterPassed(
false);
197 std::unique_ptr<const xAOD::EventInfo> hsEvt =
nullptr;
198 std::unique_ptr<xAOD::EventAuxInfo> hsEvtAux =
nullptr;
203 ATH_CHECK(overlaidEvt.record(std::make_unique<xAOD::EventInfo>(),
204 std::make_unique<xAOD::EventAuxInfo>()));
205 *overlaidEvt = *hsEvt;
211 overlaidEvt->setRunNumber(evtID.run_number());
212 overlaidEvt->setLumiBlock(evtID.lumi_block());
213 overlaidEvt->setEventNumber(evtID.event_number());
214 overlaidEvt->setBCID(evtID.bunch_crossing_id());
215 overlaidEvt->setTimeStamp(evtID.time_stamp());
216 overlaidEvt->setTimeStampNSOffset(evtID.time_stamp_ns_offset());
219 if (!beamSpotHandle.isValid()) {
221 return StatusCode::FAILURE;
224 overlaidEvt->setBeamPos(beamSpotHandle->beamPos()[
Amg::x],
225 beamSpotHandle->beamPos()[
Amg::y],
226 beamSpotHandle->beamPos()[
Amg::z]);
227 overlaidEvt->setBeamPosSigma(beamSpotHandle->beamSigma(0),
228 beamSpotHandle->beamSigma(1),
229 beamSpotHandle->beamSigma(2));
230 overlaidEvt->setBeamPosSigmaXY(beamSpotHandle->beamSigmaXY());
231 overlaidEvt->setBeamTiltXZ(beamSpotHandle->beamTilt(0));
232 overlaidEvt->setBeamTiltYZ(beamSpotHandle->beamTilt(1));
233 overlaidEvt->setBeamStatus(beamSpotHandle->beamStatus());
237 ATH_CHECK(puCont.record(std::make_unique<xAOD::EventInfoContainer>(),
238 std::make_unique<xAOD::EventInfoAuxContainer>()));
241 m_beamInt->selectT0(evtID.run_number(), evtID.event_number());
242 overlaidEvt->setBCID(
m_beamInt->getCurrentT0BunchCrossing());
249 bool sf_updated =
false;
250 float lumi_sf =
m_beamLumi->scaleFactor(evtID.run_number(),
251 evtID.lumi_block(), sf_updated);
252 float cur_avg_mu = lumi_sf *
m_avgMu;
253 overlaidEvt->setAverageInteractionsPerCrossing(cur_avg_mu);
254 overlaidEvt->setActualInteractionsPerCrossing(
m_beamInt->normFactor(0) *
259 std::format_to(trace,
260 "Idx: {} Run: {} LB: {} EVT: {} "
262 ctx.evt(), evtID.run_number(), evtID.lumi_block(),
267 [
this](
int bc) {
return int(
m_beamInt->normFactor(bc)); }) |
268 #
if RANGE_V3_VERSION >= 1200
269 rv::chunk_by(std::equal_to{}) |
271 rv::group_by(std::equal_to{}) |
278 std::string joined_pattern;
279 for (
size_t i = 0;
i < bunch_pattern.size(); ++
i) {
280 joined_pattern += bunch_pattern[
i];
281 if (
i + 1 < bunch_pattern.size()) {
282 joined_pattern +=
" ";
286 std::format_to(trace,
287 "mu = {}, central BCID = {}, bunch pattern = [{}]\n",
288 cur_avg_mu,
m_beamInt->getCurrentT0BunchCrossing(),
321 std::vector<std::uint32_t>
bcid{};
346 std::vector<std::uint64_t> subevts_vec{};
349 std::format_to(trace,
"\tBC {:03} : LOW PT {} ", bc,
352 for (std::size_t
i = 0;
i <
m_lowptMBSvc->getNumForBunch(ctx, bc); ++
i) {
361 std::format_to(trace,
"HIGH PT {} | ",
373 std::format_to(trace,
"CAVERN {} | ",
385 std::format_to(trace,
"BEAM HALO {} | ",
398 std::format_to(trace,
"BEAM GAS {} | ",
410 std::format_to(trace,
"TOTAL {} | HASH {:08X}\n", subevts_vec.size(),
415 std::format_to(trace,
"\n");
416 m_pileupTrace.print(trace_buf);
425 return StatusCode::FAILURE;
428 if (!
tool->filterPassed()) {
429 setFilterPassed(
false);
443 overlaidEvt->setPileUpMixtureID(
445 ATH_MSG_DEBUG(
"PileUpMixtureID = " << overlaidEvt->pileUpMixtureID());
447 setFilterPassed(
true);
463 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ extraOutputDeps()
const DataObjIDColl & AthAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
57 return Algorithm::extraOutputDeps();
◆ finalize()
StatusCode PileUpMTAlg::finalize |
( |
| ) |
|
|
overridevirtual |
◆ get_BCID()
unsigned int PileUpMTAlg::get_BCID |
( |
int |
bc, |
|
|
unsigned int |
central_BCID |
|
) |
| const |
|
inlineprivate |
Definition at line 150 of file PileUpMTAlg.h.
151 constexpr
int maxBCPerOrbit = 3564;
152 return static_cast<unsigned int>((bc +
static_cast<int>(central_BCID)) %
◆ get_ei()
Definition at line 44 of file PileUpMTAlg.cxx.
48 std::string
key =
pileup ?
"EventInfo" :
"HSEventInfo";
49 auto newEi = std::make_unique<xAOD::EventInfo>();
50 auto eiAux = std::make_unique<xAOD::EventAuxInfo>();
51 newEi->setStore(eiAux.get());
57 ATH_MSG_ERROR(
"Couldn't find xAOD::EventInfo. " << sg.name());
59 return StatusCode::FAILURE;
62 if (newEi->eventNumber() == 0) {
64 if (attr_list_p !=
nullptr) {
65 if (attr_list_p->size() <= 6) {
69 const auto runNum = attr_list[
"RunNumber"].data<
unsigned>();
70 const auto evtNum = attr_list[
"EventNumber"].data<
unsigned long long>();
71 const auto lbNum = attr_list[
"LumiBlockN"].data<
unsigned>();
72 newEi->setRunNumber(
runNum);
73 newEi->setLumiBlock(lbNum);
74 newEi->setEventNumber(evtNum);
78 "Could not read Input attribute list and EventInfo has no event "
82 newEi->setEvtStore(&sg);
83 ei_ = std::move(newEi);
84 ei_aux_ = std::move(eiAux);
85 return StatusCode::SUCCESS;
◆ initialize()
StatusCode PileUpMTAlg::initialize |
( |
| ) |
|
|
overridevirtual |
uncomment and implement methods as required
Definition at line 116 of file PileUpMTAlg.cxx.
117 using namespace std::chrono;
123 if (!m_pileupTrace.init(
filename)) {
125 return StatusCode::FAILURE;
158 std::string trace_buf{};
159 auto trace = std::back_inserter(trace_buf);
161 std::format_to(trace,
"SKIPPING Run: {} LB: {} EVT: {} HS ID: {}\n",
162 it->runNum,
it->lbNum,
it->evtNum,
it->evtIdx);
164 m_pileupTrace.print(trace_buf);
165 return StatusCode::SUCCESS;
167 if (!m_skiptrace_written) {
169 m_skiptrace_written =
true;
172 return StatusCode::SUCCESS;
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ isClonable()
virtual bool PileUpMTAlg::isClonable |
( |
| ) |
const |
|
inlineoverridevirtual |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ renounce()
◆ renounceArray()
◆ sysInitialize()
StatusCode AthAlgorithm::sysInitialize |
( |
| ) |
|
|
overridevirtualinherited |
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ ATLAS_THREAD_SAFE [1/2]
◆ ATLAS_THREAD_SAFE [2/2]
bool m_skiptrace_written PileUpMTAlg::ATLAS_THREAD_SAFE = false |
|
inlinestaticprivate |
◆ m_avgMu
Gaudi::Property<float> PileUpMTAlg::m_avgMu {this, "AverageMu", 200, "Average mu"} |
|
private |
◆ m_BCSpacing
Gaudi::Property<int> PileUpMTAlg::m_BCSpacing |
|
private |
Initial value:{this, "BCSpacing", 25,
"Bunch crossing spacing in ns"}
Definition at line 129 of file PileUpMTAlg.h.
◆ m_beamgasMBSvc
Initial value:{
this, "BeamGasMinbiasSvc", "", "MinbiasSvc for beam gas background"}
Definition at line 105 of file PileUpMTAlg.h.
◆ m_beamhaloMBSvc
Initial value:{
this, "BeamHaloMinbiasSvc", "", "MinbiasSvc for beam halo background"}
Definition at line 103 of file PileUpMTAlg.h.
◆ m_beamInt
Initial value:{this, "BeamIntSvc", "FlatBM",
"Beam intensity service"}
Definition at line 107 of file PileUpMTAlg.h.
◆ m_beamLumi
Initial value:{
this, "BeamLumiSvc", "LumiProfileSvc", "Beam luminosity service"}
Definition at line 109 of file PileUpMTAlg.h.
◆ m_beamSpotKey
Initial value:{
this, "BeamSpotKey", "BeamSpotData", "Beam spot info key"}
Definition at line 140 of file PileUpMTAlg.h.
◆ m_cavernMBSvc
Initial value:{this, "CavernMinbiasSvc", "",
"MinbiasSvc for cavern background"}
Definition at line 101 of file PileUpMTAlg.h.
◆ m_detStore
◆ m_earliestDeltaBC
Gaudi::Property<int> PileUpMTAlg::m_earliestDeltaBC |
|
private |
Initial value:{
this, "EarliestDeltaBC", -32,
"Earliest bunch crossing to consider (as delta)"}
Definition at line 131 of file PileUpMTAlg.h.
◆ m_evtInfoContKey
◆ m_evtInfoKey
Initial value:{
this, "EventInfoKey", "OverlayEvent", "Overlay EventInfo key"}
Definition at line 142 of file PileUpMTAlg.h.
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthAlgorithm::m_extendedExtraObjects |
|
privateinherited |
◆ m_fracHighPt
Gaudi::Property<float> PileUpMTAlg::m_fracHighPt |
|
private |
Initial value:{this, "FracHighPt", 0.,
"Fraction of pileup that has high pT"}
Definition at line 121 of file PileUpMTAlg.h.
◆ m_fracLowPt
Gaudi::Property<float> PileUpMTAlg::m_fracLowPt |
|
private |
Initial value:{this, "FracLowPt", 0.,
"Fraction of pileup that has low pT"}
Definition at line 119 of file PileUpMTAlg.h.
◆ m_highptMBSvc
Initial value:{this, "HighPtMinbiasSvc", "",
"MinbiasSvc for high pT minbias"}
Definition at line 99 of file PileUpMTAlg.h.
◆ m_latestDeltaBC
Gaudi::Property<int> PileUpMTAlg::m_latestDeltaBC |
|
private |
Initial value:{
this, "LatestDeltaBC", +6,
"Latest bunch crossing to consider (as delta)"}
Definition at line 134 of file PileUpMTAlg.h.
◆ m_lowptMBSvc
Initial value:{this, "LowPtMinbiasSvc", "",
"MinbiasSvc for low pT minbias"}
Other useful methods provided by base class are: evtStore() : ServiceHandle to main event data storegate inputMetaStore() : ServiceHandle to input metadata storegate outputMetaStore() : ServiceHandle to output metadata storegate histSvc() : ServiceHandle to output ROOT service (writing TObjects) currentFile() : TFile* to the currently open input file retrieveMetadata(...): See twiki.cern.ch/twiki/bin/view/AtlasProtected/AthAnalysisBase#ReadingMetaDataInCpp.
Definition at line 97 of file PileUpMTAlg.h.
◆ m_numBeamGas
Gaudi::Property<float> PileUpMTAlg::m_numBeamGas |
|
private |
Initial value:{
this, "NumBeamGas", 0., "Number of beam gas background events per BC"}
Definition at line 125 of file PileUpMTAlg.h.
◆ m_numBeamHalo
Gaudi::Property<float> PileUpMTAlg::m_numBeamHalo |
|
private |
Initial value:{
this, "NumBeamHalo", 0., "Number of beam halo background events per BC"}
Definition at line 127 of file PileUpMTAlg.h.
◆ m_numCavern
Gaudi::Property<float> PileUpMTAlg::m_numCavern |
|
private |
Initial value:{
this, "NumCavern", 0., "Number of cavern background events per BC"}
Definition at line 123 of file PileUpMTAlg.h.
◆ m_puTools
Initial value:{
this, "PileUpTools", {}, "Pileup tools"}
Definition at line 113 of file PileUpMTAlg.h.
◆ m_rngSvc
Initial value:{this, "RNGSvc", "AthRNGSvc/PileupRNG",
"RNG service for pile-up digitization"}
Definition at line 111 of file PileUpMTAlg.h.
◆ m_skipEventIdxSvc
Initial value:{
this, "SkipEvtIdxSvc", "SkipEventIdxSvc",
"Skipped event index (run / lb num) provider"}
Definition at line 137 of file PileUpMTAlg.h.
◆ m_skippedHSEvents
Gaudi::Property<int> PileUpMTAlg::m_skippedHSEvents |
|
private |
Initial value:{this, "SkippedHSEvents", 0,
"Number of skipped HS events"}
Definition at line 116 of file PileUpMTAlg.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_writeTrace
Gaudi::Property<bool> PileUpMTAlg::m_writeTrace {this, "WriteTrace", false, "Write trace of pileup events used"} |
|
private |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
Gaudi::Property< float > m_numBeamHalo
void clearSubEvents()
Clear all the currently held sub-events.
ServiceHandle< IMinbiasSvc > m_lowptMBSvc
Other useful methods provided by base class are: evtStore() : ServiceHandle to main event data storeg...
Gaudi::Property< float > m_fracLowPt
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
PileUpType
Enumerator describing the types of pileup events.
static xAOD::EventInfo::PileUpMixtureID uuidToPileUpMixtureId(const uuid_t &hash)
Convert uuid_t to xAOD::EventInfo::PileUpMixtureID.
uint32_t eventTypeBitmask() const
The event type bitmask.
std::string hashSource() const
Get the current hash base.
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Gaudi::Property< int > m_latestDeltaBC
#define ATH_MSG_VERBOSE(x)
Gaudi::Property< float > m_avgMu
@ IS_SIMULATION
true: simulation, false: data
ServiceHandle< IBeamIntensity > m_beamInt
void handler(int sig)
signal handler
virtual void setOwner(IDataHandleHolder *o)=0
Gaudi::Property< bool > m_writeTrace
SG::WriteHandleKey< xAOD::EventInfoContainer > m_evtInfoContKey
Gaudi::Property< float > m_numCavern
Gaudi::Property< int > m_earliestDeltaBC
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
ServiceHandle< IMinbiasSvc > m_highptMBSvc
virtual StatusCode sysInitialize() override
Override sysInitialize.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
Gaudi::Property< float > m_numBeamGas
std::vector< EvtId >::const_iterator EvtIter
::StatusCode StatusCode
StatusCode definition for legacy code.
pointer_type ptr()
Dereference the pointer.
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
ServiceHandle< IBeamLuminosity > m_beamLumi
Amg::Vector3D transform(Amg::Vector3D &v, Amg::Transform3D &tr)
Transform a point from a Trasformation3D.
void addToHashSource(const std::string &string)
Add a plain string to the stream.
ServiceHandle< IMinbiasSvc > m_beamgasMBSvc
An AttributeList represents a logical row of attributes in a metadata table. The name and type of eac...
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
unsigned int get_BCID(int bc, unsigned int central_BCID) const
ServiceHandle< IMinbiasSvc > m_beamhaloMBSvc
StatusCode add_subevt(const std::vector< std::uint32_t > &bcid, SG::WriteHandle< xAOD::EventInfo > &overlaidEvt, SG::WriteHandle< xAOD::EventInfoContainer > &puCont, ServiceHandle< IMinbiasSvc > &mbSvc, xAOD::EventInfo::PileUpType puType, int bc, const EventContext &ctx, unsigned long subevt_id, std::vector< std::uint64_t > &trace)
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
ServiceHandle< IAthRNGSvc > m_rngSvc
Gaudi::Property< int > m_BCSpacing
Gaudi::Property< int > m_skippedHSEvents
StatusCode initialize(bool used=true)
setEventNumber setTimeStamp bcid
Class describing the basic event information.
ServiceHandle< ISkipEventIdxSvc > m_skipEventIdxSvc
std::uint64_t hash64(const void *data, std::size_t size)
Passthrough to XXH3_64bits.
@ Signal
The signal event.
DataObjIDColl m_extendedExtraObjects
Gaudi::Property< float > m_fracHighPt
#define ATH_MSG_WARNING(x)
ServiceHandle< IMinbiasSvc > m_cavernMBSvc
void calculateHash(uuid_t &hash) const
Calculate the hash.
T * get(TKey *tobj)
get a TObject* from a TKey* (why can't a TObject be a TKey?)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
StatusCode get_ei(StoreGateSvc &sg, std::unique_ptr< const xAOD::EventInfo > &ei, std::unique_ptr< xAOD::EventAuxInfo > &eiAux, bool pileup=false) const
AthAlgorithm()
Default constructor:
ToolHandleArray< IPileUpTool > m_puTools
const std::vector< SubEvent > & subEvents() const
Get the pileup events that were used in the simulation.
Class describing the properties of one pileup sub-event.
xAOD::EventInfo * addSubEvent(xAOD::EventInfo *targetEv, const xAOD::EventInfo::SubEvent &subev, xAOD::EventInfoContainer *eiContainer, const std::string &eiContKey, StoreGateSvc *subev_store=nullptr)
SG::WriteHandleKey< xAOD::EventInfo > m_evtInfoKey