5#ifndef MCTRUTHSIMALGS_MERGEMCEVENTCOLLTOOL_H
6#define MCTRUTHSIMALGS_MERGEMCEVENTCOLLTOOL_H
10#include "Gaudi/Property.h"
11#include "GaudiKernel/ServiceHandle.h"
12#include "GaudiKernel/PhysicalConstants.h"
31 const std::string& name,
32 const IInterface* parent);
33 virtual StatusCode
initialize()
override final;
36 virtual StatusCode
prepareEvent(
const EventContext& ctx,
unsigned int nInputEvents)
override final;
39 virtual StatusCode
mergeEvent(
const EventContext& ctx)
override final;
80 void updateClassificationMap(
int signal_process_id,
int event_number,
int hack,
int classification,
bool firstUpdateForThisEvent);
85 StringProperty
m_truthCollInputKey{
this,
"TruthCollInputKey",
"TruthEvent",
"Name of input McEventCollection"};
86 StringProperty
m_truthCollOutputKey{
this,
"TruthCollOutputKey",
"TruthEvent",
"Name of output McEventCollection"};
87 BooleanProperty
m_keepUnstable{
this,
"KeepUnstable",
false,
"Do not cut unstable particles"};
88 DoubleProperty
m_absEtaMax{
this,
"AbsEtaMax", 5.0,
"Eta cut-off for INTIME GenParticles"};
90 DoubleProperty
m_lowTimeToKeep{
this,
"LowTimeToKeep", -51.0,
"leading edge in ns of the time window to keep if SaveOutOfTimePileUp is true"};
91 DoubleProperty
m_highTimeToKeep{
this,
"HighTimeToKeep", 51.0,
"trailing edge in ns of the time window to keep if SaveOutOfTimePileUp is true"};
93 DoubleProperty
m_rRange{
this,
"rRange", 20.0*Gaudi::Units::mm,
"rRange of production vertex in mm"};
97 DoubleProperty
m_zRange{
this,
"zRange", 200.0*Gaudi::Units::mm,
"z range of production vertex in mm"};
98 DoubleProperty
m_ptMin{
this,
"ptMin", 0.4*Gaudi::Units::GeV,
"Minimum threshold for pT for selected pileup particles in MeV"};
99 DoubleProperty
m_minKinE{
this,
"EKinMin", 1.0*Gaudi::Units::MeV,
"Minimum threshold for Kinetic Energy of selected cavern events in MeV"};
101 BooleanProperty
m_saveInTimePileup{
this,
"SaveInTimeMinBias",
true,
"save min bias particles in the t0 xing"};
103 BooleanProperty
m_saveOutOfTimePileup{
this,
"SaveOutOfTimeMinBias",
true,
"save out of time min bias particles in the [LowTimeToKeep:HighTimeToKeep] range"};
105 BooleanProperty
m_saveRestOfPileup{
this,
"SaveRestOfMinBias",
false,
"save the rest of out of time min bias particles as well"};
109 BooleanProperty
m_doSlimming{
this,
"DoSlimming",
true,
"flag to do the slimming or save everything"};
121 BooleanProperty
m_addBackgroundCollisionVertices{
this,
"AddBackgroundCollisionVertices",
true,
"ensure that the collision GenVertex objects of minbias background events are saved."};
123 BooleanProperty
m_compressOutputCollection{
this,
"CompressOutputCollection",
false,
"Remove all empty GenEvents from the output McEventCollection"};
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
const GenParticle * ConstGenParticlePtr
const HepMC::GenVertex * ConstGenVertexPtr