1 #ifndef OverlayTiming_h
2 #define OverlayTiming_h 1
4 #include "marlin/Processor.h"
5 #include "marlin/EventModifier.h"
46 class OverlayTiming :
public marlin::Processor,
public marlin::EventModifier
49 virtual marlin::Processor* newProcessor();
55 virtual const std::string &name()
const;
57 virtual void processRunHeader(EVENT::LCRunHeader *run) ;
59 virtual void modifyEvent(EVENT::LCEvent *evt);
61 virtual void check(EVENT::LCEvent *evt);
66 float time_of_flight(
float x,
float y,
float z)
const;
68 void define_time_windows(
const std::string &Collection_name);
70 void crop_collection(EVENT::LCCollection *collection);
72 void merge_collections(EVENT::LCCollection *source_collection, EVENT::LCCollection *dest_collection,
float time_offset);
74 long long cellID2long(
int id0,
int id1)
const;
81 StringVec _inputFileNames ;
85 unsigned int overlay_file_list;
86 float _BeamCal_int,_ETD_int, _EcalBarrel_int, _EcalBarrelPreShower_int, _EcalEndcap_int, _EcalEndcapPreShower_int, _EcalEndcapRing_int, _EcalEndcapRingPreShower_int;
87 float _FTD_int, _HcalBarrelReg_int, _HcalEndCapRings_int, _HcalEndCaps_int, _LHcal_int, _LumiCal_int, _MuonBarrel_int, _MuonEndCap_int, _SET_int, _SIT_int, _VXD_int;
88 float _EcalPlug_int, _VXDB_int, _VXDE_int, _ITB_int, _ITE_int, _OTB_int, _OTE_int;
89 float _TPC_int, _TPCSpacePoint_int;
91 IO::LCReader* overlay_Eventfile_reader;
97 std::string _mcParticleCollectionName;
98 std::string _mcPhysicsParticleCollectionName;
99 std::string currentDest;
102 float _tpcVdrift_mm_ns ;
103 bool _randomBX, _Poisson;
105 typedef std::map<long long, EVENT::SimCalorimeterHit*> DestMap;
106 typedef std::map<std::string, DestMap> CollDestMap;
107 CollDestMap collDestMap;
112 marlin::Processor *OverlayTiming::newProcessor()
119 const std::string &OverlayTiming::name()
const
121 return marlin::Processor::name();
126 inline float OverlayTiming::time_of_flight(
float x,
float y,
float z)
const
130 return std::sqrt((x * x) + (y * y) + (z * z))/299.792458;
135 inline long long OverlayTiming::cellID2long(
int id0,
int id1)
const
137 return ((
long long) id0 << 32) | id1;
OverlayTiming processor for overlaying background to each bunch crossing of a bunch train...
Definition: OverlayTiming.h:46