ATLAS Offline Software
TileHitVecToCntTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 //**************************************************************************
6 // Filename : TileHitVecToCntTool.h
7 // Author : Vishnu Zutshi
8 // Created : Dec. 2009
9 //
10 // DESCRIPTION
11 //
12 // TileHitVecToCnt copies all TileHits from TileHitVector (AthenaHitsVector)
13 // to TileHitContainer (identifiable container) without any corrections.
14 // If pileup option is set, all hits are merged. The pileup is done bunchXing
15 // by bunchXing (main difference from TileHitVecToCnt). If several hits have
16 // the same ID, energy and time from all of them is stored in vectors
17 // inside single TileHit.
18 //
19 // Properties (JobOption Parameters):
20 //
21 // TileHitVectors string Name of TileHitVector to read
22 // TileHitContainer string Name of TileHitContainer to write
23 // TileInfoName string Name of object in TDS with all parameters
24 // PileUp bool Do or not pileup
25 // HitTimeFlag int Working with hit times
26 //**************************************************************************
27 
28 #ifndef TILESIMALGS_TILEHITVECTOCNTTOOL_H
29 #define TILESIMALGS_TILEHITVECTOCNTTOOL_H
30 
31 // Tile includes
38 
39 // Athena includes
46 // Pile up
48 
49 // Gaudi includes
50 #include "GaudiKernel/ServiceHandle.h"
51 #include "GaudiKernel/SystemOfUnits.h"
52 #include <memory>
53 
54 // Avoid pushing dependencies into clients- just fwd declare the following:
55 
56 class TileID;
57 class TileTBID;
58 class TileHWID;
59 class TileHit;
61 class Identifier;
62 class TileCablingService;
63 class TileHitCollection;
64 
65 
66 namespace CLHEP {
67  class HepRandomEngine;
68 }
69 
70 // C++ STL includes
71 #include <string>
72 #include <vector>
73 
86 
87 public:
88  TileHitVecToCntTool(const std::string& type, const std::string& name, const IInterface* parent);
89  StatusCode initialize() override final;
90  virtual StatusCode prepareEvent(const EventContext& ctx, unsigned int /*nInputEvents*/) override final;
91  virtual StatusCode mergeEvent(const EventContext& ctx) override final;
92  virtual StatusCode processBunchXing(int bunchXing,
93  SubEventIterator bSubEvents,
94  SubEventIterator eSubEvents) override final;
95  virtual StatusCode processAllSubEvents(const EventContext& ctx) override final;
96  virtual StatusCode processAllSubEvents(const EventContext& ctx) const;
97  StatusCode finalize() override final;
98 
99 private:
101  void processHitVectorForOverlay(const TileHitVector* inputHits, std::unique_ptr<TileHitNonConstContainer>& hits, int& nHit, double& eHitTot) const;
102  void processHitVectorForPileUp(const TileHitVector* inputHits, double SubEvtTimOffset, std::vector<std::unique_ptr<TileHit>>& allHits,
103  std::vector<std::unique_ptr<TileHit>>& allHits_DigiHSTruth, int& nHit, double& eHitTot, bool isSignal = false) const;
104  void processHitVectorWithoutPileUp(const TileHitVector* inputHits, int& nHit, double& eHitTot, TileHitNonConstContainer* hitCont, CLHEP::HepRandomEngine * engine) const;
105  // Method to apply photostatistics effect
106  double applyPhotoStatistics(double energy, Identifier pmt_id, CLHEP::HepRandomEngine* engine, const TileSamplingFraction* samplingFraction, int drawerIdx) const;
107  void findAndMergeE1(TileHitCollection* coll, int frag_id, TileHitNonConstContainer* hitCont) const;
108  void findAndMergeMBTS(TileHitCollection* coll, int frag_id, TileHitNonConstContainer* hitCont) const;
109  void findAndMergeMultipleHitsInChannel(std::unique_ptr<TileHitNonConstContainer>& hitCont) const;
110  void mergeExtraHitToChannelHit(TileHit* extraHit, TileHit* channelHit) const;
111  void putAllHitsInContainer(std::vector<std::unique_ptr<TileHit>>& allHits,
112  std::vector<std::unique_ptr<TileHit>>& allHits_DigiHSTruth,
113  std::unique_ptr<TileHitNonConstContainer>& hits,
114  std::unique_ptr<TileHitNonConstContainer>& hits_DigiHSTruth,
115  SG::OwnershipPolicy ownPolicy) const;
116  StatusCode commitContainers(const EventContext& ctx,
117  std::unique_ptr<TileHitNonConstContainer>& hits,
118  std::unique_ptr<TileHitNonConstContainer>& hits_DigiHSTruth,
119  SG::OwnershipPolicy ownPolicy) const;
120  void prepareAllHits(std::vector<std::unique_ptr<TileHit>>& allHits) const;
121 
122 
123  Gaudi::Property<bool> m_onlyUseContainerName{this, "OnlyUseContainerName", true, "Don't use the ReadHandleKey directly. Just extract the container name from it."};
124  StringArrayProperty m_inputKeys{this, "TileHitVectors", {"TileHitVec"},
125  "Name of input hit vectors (default=TileHitVec)" };
126  SG::ReadHandleKeyArray<TileHitVector> m_hitVectorKeys{this, "TileHitVectorKeys", {}, "Do not set manually!"};
127  std::vector<std::string> m_hitVectorNames{};
128 
129  SG::WriteHandleKey<TileHitContainer> m_hitContainerKey{this,"TileHitContainer","TileHitCnt",
130  "Output Tile hit container key"};
131 
132  SG::WriteHandleKey<TileHitContainer> m_hitContainer_DigiHSTruthKey{this,"TileHitContainer_DigiHSTruth","TileHitCnt_DigiHSTruth",
133  "Output DigiHSTruth Tile hit container key"};
134 
139  "TileSamplingFraction", "TileSamplingFraction", "Input Tile sampling fraction"};
140 
141  bool m_run2{false};
142  bool m_run2plus{false};
143  Gaudi::Property<bool> m_pileUp{this, "PileUp", false,
144  "To switch on pileup (default=false)"};
145  Gaudi::Property<double> m_deltaT{this, "DeltaT", 1.0*Gaudi::Units::nanosecond,
146  "Minimal Time granularity in TileHit (default=1ns)"};
147  Gaudi::Property<int> m_timeFlag{this, "HitTimeFlag", 0,
148  "Special options to deal with times of hits for cosmics and TB (default=0)"};
149  Gaudi::Property<double> m_triggerTime{this, "TriggerTime", 0.0,
150  "Fixed trigger time value (default=0)"};
151  Gaudi::Property<double> m_maxHitTime{this, "MaxHitTime", 150.5*Gaudi::Units::nanosecond,
152  "All sub-hits with time above m_maxHitTime will be ignored"};
153  Gaudi::Property<double> m_photoStatisticsWindow{this, "PhotostatWindow", 62.5*Gaudi::Units::nanosecond,
154  "Sum up energy in [-m_photoStatWindow,+m_photoStatWindow] and use it for photostatistics"};
155  Gaudi::Property<int> m_photoElectronStatistics{this, "PhotostatType", 2,
156  "Method to apply photostatistics (default=2)"};
157  Gaudi::Property<bool> m_skipNoHit{this, "SkipNoHit", false,
158  "Skip events with no Tile hits (default=false)"};
159  Gaudi::Property<bool> m_rndmEvtOverlay{this, "RndmEvtOverlay", false,
160  "Pileup and/or noise added by overlaying random events (default=false)"};
161  Gaudi::Property<bool> m_useTriggerTime{this, "UseTriggerTime", false,
162  "Take trigger time from external tool (default=false)"};
163  Gaudi::Property<bool> m_doDigiTruth{this, "DoHSTruthReconstruction", false,
164  "DigiTruth reconstruction"};
165  Gaudi::Property<bool> m_usePhotoStatistics{this,
166  "usePhotoStatistics", true, "Simulate photo statistics effect (default=true)"};
167  Gaudi::Property<bool> m_mergeMultipleHitsInChannel{this, "MergeMultipleHitsInChannel", true,
168  "Find and merge multiple hits for the same channel in container (default=true)"};
169  SG::ReadHandleKey<CosTrigTime> m_triggerTimeKey{this,"CosTimeKey", "", "To take the trigger time from"};
170  ServiceHandle<PileUpMergeSvc> m_mergeSvc{this, "PileUpMergeSvc", "PileUpMergeSvc", ""};
171 
172  const TileID* m_tileID{nullptr};
173  const TileTBID* m_tileTBID{nullptr};
174  const TileHWID* m_tileHWID{nullptr};
175 
176  ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc", ""};
177  Gaudi::Property<std::string> m_randomStreamName{this, "RandomStreamName", "Tile_HitVecToCnt", ""};
179 
180  std::vector<std::unique_ptr<TileHit>> m_allHits;
181  std::vector<std::unique_ptr<TileHit>> m_allHits_DigiHSTruth;
182  std::unique_ptr<TileHitNonConstContainer> m_hits{};
183  std::unique_ptr<TileHitNonConstContainer> m_hits_DigiHSTruth{};
184 
185  int m_mbtsOffset{0}; //<! index of first MBTS hit in m_allHits vector
186  static const int N_SIDE = 2;
187  static const int N_PHI = 8;
188  static const int N_ETA = 2;
189  static const int N_MBTS_CELLS = N_SIDE * N_PHI * N_ETA;
190  inline int mbts_index(int side, int phi, int eta) const {
191  return (side * N_PHI + phi) * N_ETA + eta + m_mbtsOffset;
192  }
193  static const int E4_SIDE = -1;
194  static const int E4_ETA = 2;
195  static const int E4_N_PHI = 4;
196  static const int N_E4PRIME_CELLS = E4_N_PHI;
197  inline int e4pr_index(int phi) const {
198  return phi + N_MBTS_CELLS + m_mbtsOffset;
199  }
200 
201  ServiceHandle<TileCablingSvc> m_cablingSvc{this, "TileCablingSvc", "TileCablingSvc", ""};
204  std::vector<bool> m_E1merged;
205  std::vector<bool> m_MBTSmerged;
206  enum CELL_TOWER{E1_TOWER = 10};
207 };
208 
209 #endif // TILESIMALGS_TILEHITVECTOCNTTOOL_H
TileHitVecToCntTool::N_E4PRIME_CELLS
static const int N_E4PRIME_CELLS
Definition: TileHitVecToCntTool.h:196
TileHitVecToCntTool::m_cabling
const TileCablingService * m_cabling
Definition: TileHitVecToCntTool.h:202
TileCablingSvc.h
TileHitVecToCntTool::createContainers
StatusCode createContainers()
Definition: TileHitVecToCntTool.cxx:185
TileHitVecToCntTool::CELL_TOWER
CELL_TOWER
Definition: TileHitVecToCntTool.h:206
TileHitVecToCntTool::E4_N_PHI
static const int E4_N_PHI
Definition: TileHitVecToCntTool.h:195
TRTCalib_Extractor.hits
hits
Definition: TRTCalib_Extractor.py:35
TileHitVecToCntTool::m_hitContainer_DigiHSTruthKey
SG::WriteHandleKey< TileHitContainer > m_hitContainer_DigiHSTruthKey
Definition: TileHitVecToCntTool.h:132
TileHitVecToCntTool::m_hitContainerKey
SG::WriteHandleKey< TileHitContainer > m_hitContainerKey
Definition: TileHitVecToCntTool.h:129
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
TileHitVecToCntTool::applyPhotoStatistics
double applyPhotoStatistics(double energy, Identifier pmt_id, CLHEP::HepRandomEngine *engine, const TileSamplingFraction *samplingFraction, int drawerIdx) const
Definition: TileHitVecToCntTool.cxx:955
TileHitVecToCntTool::E4_SIDE
static const int E4_SIDE
Definition: TileHitVecToCntTool.h:193
TileHitVecToCntTool::m_samplingFractionKey
SG::ReadCondHandleKey< TileSamplingFraction > m_samplingFractionKey
Name of TileSamplingFraction in condition store.
Definition: TileHitVecToCntTool.h:138
TileHitVecToCntTool::m_tileTBID
const TileTBID * m_tileTBID
Pointer to TileID helper.
Definition: TileHitVecToCntTool.h:173
TileHitVecToCntTool::processHitVectorWithoutPileUp
void processHitVectorWithoutPileUp(const TileHitVector *inputHits, int &nHit, double &eHitTot, TileHitNonConstContainer *hitCont, CLHEP::HepRandomEngine *engine) const
Definition: TileHitVecToCntTool.cxx:384
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
TileHitVecToCntTool::m_mergeSvc
ServiceHandle< PileUpMergeSvc > m_mergeSvc
Definition: TileHitVecToCntTool.h:170
TileHitVecToCntTool::initialize
StatusCode initialize() override final
Definition: TileHitVecToCntTool.cxx:53
AtlasHitsVector
Definition: AtlasHitsVector.h:32
TileHitVecToCntTool::m_hitVectorNames
std::vector< std::string > m_hitVectorNames
Definition: TileHitVecToCntTool.h:127
TileHitVecToCntTool::m_pileUp
Gaudi::Property< bool > m_pileUp
if true => pileup mode is activated
Definition: TileHitVecToCntTool.h:143
TileHitVecToCntTool::m_timeFlag
Gaudi::Property< int > m_timeFlag
special options to deal with times of hits for cosmics and TB
Definition: TileHitVecToCntTool.h:147
TileHitVecToCntTool::processBunchXing
virtual StatusCode processBunchXing(int bunchXing, SubEventIterator bSubEvents, SubEventIterator eSubEvents) override final
Definition: TileHitVecToCntTool.cxx:581
TileHitVecToCntTool::m_mbtsOffset
int m_mbtsOffset
Definition: TileHitVecToCntTool.h:185
TileHitVecToCntTool::TileHitVecToCntTool
TileHitVecToCntTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor.
Definition: TileHitVecToCntTool.cxx:46
TileFragHash.h
TileHitVecToCntTool::m_hits_DigiHSTruth
std::unique_ptr< TileHitNonConstContainer > m_hits_DigiHSTruth
pointer to hits container
Definition: TileHitVecToCntTool.h:183
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
python.SystemOfUnits.nanosecond
float nanosecond
Definition: SystemOfUnits.py:134
TileHitVecToCntTool::m_inputKeys
StringArrayProperty m_inputKeys
vector with the names of TileHitVectors to use
Definition: TileHitVecToCntTool.h:124
TileHitVecToCntTool::m_mergeMultipleHitsInChannel
Gaudi::Property< bool > m_mergeMultipleHitsInChannel
Definition: TileHitVecToCntTool.h:167
TileFragHash
Hash table for Tile fragments (==drawers ==collections in StoreGate)
Definition: TileFragHash.h:24
SG::ReadHandleKey< CosTrigTime >
TileHitCollection
Definition: TileHitCollection.h:12
TileHitVecToCntTool::m_hitVectorKeys
SG::ReadHandleKeyArray< TileHitVector > m_hitVectorKeys
Definition: TileHitVecToCntTool.h:126
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
TileHitVecToCntTool::m_useTriggerTime
Gaudi::Property< bool > m_useTriggerTime
if true => take trigger time from external tool or from m_triggerTime
Definition: TileHitVecToCntTool.h:161
TileHitVecToCntTool::processHitVectorForPileUp
void processHitVectorForPileUp(const TileHitVector *inputHits, double SubEvtTimOffset, std::vector< std::unique_ptr< TileHit >> &allHits, std::vector< std::unique_ptr< TileHit >> &allHits_DigiHSTruth, int &nHit, double &eHitTot, bool isSignal=false) const
Definition: TileHitVecToCntTool.cxx:281
TileHitVecToCntTool::findAndMergeMBTS
void findAndMergeMBTS(TileHitCollection *coll, int frag_id, TileHitNonConstContainer *hitCont) const
Definition: TileHitVecToCntTool.cxx:1093
SG::OwnershipPolicy
OwnershipPolicy
describes the possible element ownership policies (see e.g. DataVector)
Definition: OwnershipPolicy.h:16
TRT::Hit::side
@ side
Definition: HitInfo.h:83
TileHitVecToCntTool::m_cablingSvc
ServiceHandle< TileCablingSvc > m_cablingSvc
Definition: TileHitVecToCntTool.h:201
CosTrigTime.h
TileHWID
Helper class for TileCal online (hardware) identifiers.
Definition: TileHWID.h:49
TileHitVecToCntTool::m_run2plus
bool m_run2plus
if true => RUN2+ geometry with merged E1 (and E4' in RUN2)
Definition: TileHitVecToCntTool.h:142
TileHitVecToCntTool::N_MBTS_CELLS
static const int N_MBTS_CELLS
Definition: TileHitVecToCntTool.h:189
TileHitVecToCntTool::m_run2
bool m_run2
if true => RUN2 geometry with E4' and merged E1
Definition: TileHitVecToCntTool.h:141
SG::WriteHandleKey< TileHitContainer >
ParticleGun_FastCalo_ChargeFlip_Config.energy
energy
Definition: ParticleGun_FastCalo_ChargeFlip_Config.py:78
TileHitVecToCntTool::m_usePhotoStatistics
Gaudi::Property< bool > m_usePhotoStatistics
Definition: TileHitVecToCntTool.h:165
TileSamplingFraction
Condition object to keep and provide Tile Calorimeter sampling fraction and number of photoelectrons.
Definition: TileSamplingFraction.h:16
TileHitVecToCntTool::m_tileHWID
const TileHWID * m_tileHWID
Pointer to TileID helper.
Definition: TileHitVecToCntTool.h:174
TileDetDescrManager
Definition: TileDetDescrManager.h:33
TileSamplingFraction.h
TileID
Helper class for TileCal offline identifiers.
Definition: TileID.h:68
TileHitVecToCntTool::mergeEvent
virtual StatusCode mergeEvent(const EventContext &ctx) override final
Definition: TileHitVecToCntTool.cxx:936
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TileHitVecToCntTool::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Random number generator engine to use.
Definition: TileHitVecToCntTool.h:176
TileHitVecToCntTool::m_onlyUseContainerName
Gaudi::Property< bool > m_onlyUseContainerName
Definition: TileHitVecToCntTool.h:123
TileHitVecToCntTool::m_rndmEvtOverlay
Gaudi::Property< bool > m_rndmEvtOverlay
If true => overlay with random event (zero-luminosity pile-up)
Definition: TileHitVecToCntTool.h:159
TileHitVecToCntTool::m_allHits_DigiHSTruth
std::vector< std::unique_ptr< TileHit > > m_allHits_DigiHSTruth
vector for all TileHits
Definition: TileHitVecToCntTool.h:181
CLHEP
STD'S.
Definition: CaloNoiseCompCondAlg.h:58
TileHitVecToCntTool::m_deltaT
Gaudi::Property< double > m_deltaT
minimal time granularity for TileHit
Definition: TileHitVecToCntTool.h:145
TileHitVecToCntTool::m_fragHashFunc
TileFragHash m_fragHashFunc
Definition: TileHitVecToCntTool.h:203
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TileHitVecToCntTool::prepareEvent
virtual StatusCode prepareEvent(const EventContext &ctx, unsigned int) override final
Definition: TileHitVecToCntTool.cxx:221
TileHitVecToCntTool::mergeExtraHitToChannelHit
void mergeExtraHitToChannelHit(TileHit *extraHit, TileHit *channelHit) const
Definition: TileHitVecToCntTool.cxx:1193
OwnershipPolicy.h
TileCablingService
Definition: TileCablingService.h:23
TileHitVecToCntTool::findAndMergeE1
void findAndMergeE1(TileHitCollection *coll, int frag_id, TileHitNonConstContainer *hitCont) const
Definition: TileHitVecToCntTool.cxx:1035
PileUpToolBase
Definition: PileUpToolBase.h:18
TileHitVecToCntTool::putAllHitsInContainer
void putAllHitsInContainer(std::vector< std::unique_ptr< TileHit >> &allHits, std::vector< std::unique_ptr< TileHit >> &allHits_DigiHSTruth, std::unique_ptr< TileHitNonConstContainer > &hits, std::unique_ptr< TileHitNonConstContainer > &hits_DigiHSTruth, SG::OwnershipPolicy ownPolicy) const
Definition: TileHitVecToCntTool.cxx:771
TileHitVecToCntTool
This AlgTool merges TileHits from different AthenaHitVectors and stores the result in a TileHitContai...
Definition: TileHitVecToCntTool.h:85
TileHitVecToCntTool::m_skipNoHit
Gaudi::Property< bool > m_skipNoHit
if true => skip events with no Tile hits
Definition: TileHitVecToCntTool.h:157
TileHitVecToCntTool::processAllSubEvents
virtual StatusCode processAllSubEvents(const EventContext &ctx) override final
Definition: TileHitVecToCntTool.cxx:652
ReadCondHandleKey.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
TileHitVecToCntTool::e4pr_index
int e4pr_index(int phi) const
Definition: TileHitVecToCntTool.h:197
TileHitVecToCntTool::mbts_index
int mbts_index(int side, int phi, int eta) const
Definition: TileHitVecToCntTool.h:190
TileHitVecToCntTool::m_hits
std::unique_ptr< TileHitNonConstContainer > m_hits
pointer to hits container
Definition: TileHitVecToCntTool.h:182
TileHitVector.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
TileHitVecToCntTool::m_maxHitTime
Gaudi::Property< double > m_maxHitTime
all sub-hits with time above m_maxHitTime will be ignored
Definition: TileHitVecToCntTool.h:151
TileHitVecToCntTool::N_ETA
static const int N_ETA
Definition: TileHitVecToCntTool.h:188
TileHitVecToCntTool::processHitVectorForOverlay
void processHitVectorForOverlay(const TileHitVector *inputHits, std::unique_ptr< TileHitNonConstContainer > &hits, int &nHit, double &eHitTot) const
Definition: TileHitVecToCntTool.cxx:235
TileHit
Definition: TileSimEvent/TileSimEvent/TileHit.h:30
TileHitContainer.h
TileHitVecToCntTool::m_allHits
std::vector< std::unique_ptr< TileHit > > m_allHits
vector for all TileHits
Definition: TileHitVecToCntTool.h:180
SG::ReadCondHandleKey< TileSamplingFraction >
TileHitNonConstContainer.h
Helper class for building a TileHitContainer.
TileHitNonConstContainer
This is a minimal version of a TileHitContainer in which the saved collections remain non-const.
Definition: TileHitNonConstContainer.h:31
TileHitVecToCntTool::m_MBTSmerged
std::vector< bool > m_MBTSmerged
Definition: TileHitVecToCntTool.h:205
TileHitVecToCntTool::findAndMergeMultipleHitsInChannel
void findAndMergeMultipleHitsInChannel(std::unique_ptr< TileHitNonConstContainer > &hitCont) const
Definition: TileHitVecToCntTool.cxx:1152
TileHitVecToCntTool::m_photoStatisticsWindow
Gaudi::Property< double > m_photoStatisticsWindow
sum up energy in [-m_photoStatWindow,+m_photoStatWindow] and use it for photostatistics
Definition: TileHitVecToCntTool.h:153
TileHitVecToCntTool::m_doDigiTruth
Gaudi::Property< bool > m_doDigiTruth
Definition: TileHitVecToCntTool.h:163
PileUpMergeSvc.h
the preferred mechanism to access information from the different event stores in a pileup job.
TileHitVecToCntTool::m_triggerTimeKey
SG::ReadHandleKey< CosTrigTime > m_triggerTimeKey
Definition: TileHitVecToCntTool.h:169
TileHitVecToCntTool::E4_ETA
static const int E4_ETA
Definition: TileHitVecToCntTool.h:194
TileHitVecToCntTool::m_photoElectronStatistics
Gaudi::Property< int > m_photoElectronStatistics
photoelectron statistics type: 0 - Poisson, 1 - "new" Poisson + Gauss, 2 - Poisson->Gauss
Definition: TileHitVecToCntTool.h:155
SubEventIterator
std::vector< xAOD::EventInfo::SubEvent >::const_iterator SubEventIterator
Definition: IPileUpTool.h:22
TileTBID
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
Definition: Calorimeter/CaloIdentifier/CaloIdentifier/TileTBID.h:65
TileHitVecToCntTool::m_tileID
const TileID * m_tileID
Pointer to TileID helper.
Definition: TileHitVecToCntTool.h:172
TileHitVecToCntTool::E1_TOWER
@ E1_TOWER
Definition: TileHitVecToCntTool.h:206
PileUpToolBase.h
helper base class IPileUpTool::toProcess().
TileHitVecToCntTool::m_randomStreamName
Gaudi::Property< std::string > m_randomStreamName
Random Stream Name.
Definition: TileHitVecToCntTool.h:178
TileHitVecToCntTool::m_E1merged
std::vector< bool > m_E1merged
Definition: TileHitVecToCntTool.h:204
TileHitVecToCntTool::commitContainers
StatusCode commitContainers(const EventContext &ctx, std::unique_ptr< TileHitNonConstContainer > &hits, std::unique_ptr< TileHitNonConstContainer > &hits_DigiHSTruth, SG::OwnershipPolicy ownPolicy) const
Definition: TileHitVecToCntTool.cxx:803
TileHitVecToCntTool::finalize
StatusCode finalize() override final
Definition: TileHitVecToCntTool.cxx:945
TileHitVecToCntTool::N_PHI
static const int N_PHI
Definition: TileHitVecToCntTool.h:187
TileHitVecToCntTool::m_triggerTime
Gaudi::Property< double > m_triggerTime
fixed trigger time value (default=0)
Definition: TileHitVecToCntTool.h:149
IAthRNGSvc.h
ServiceHandle< PileUpMergeSvc >
TileHitVecToCntTool::N_SIDE
static const int N_SIDE
Definition: TileHitVecToCntTool.h:186
TileHitVecToCntTool::prepareAllHits
void prepareAllHits(std::vector< std::unique_ptr< TileHit >> &allHits) const
Definition: TileHitVecToCntTool.cxx:1207
Identifier
Definition: IdentifierFieldParser.cxx:14