28#ifndef TILESIMALGS_TILEHITVECTOCNTTOOL_H
29#define TILESIMALGS_TILEHITVECTOCNTTOOL_H
50#include "GaudiKernel/ServiceHandle.h"
51#include "GaudiKernel/SystemOfUnits.h"
67 class HepRandomEngine;
90 virtual StatusCode
prepareEvent(
const EventContext& ctx,
unsigned int )
override final;
91 virtual StatusCode
mergeEvent(
const EventContext& ctx)
override final;
97 StatusCode
finalize()
override final;
103 std::vector<std::unique_ptr<TileHit>>& allHits_DigiHSTruth,
int& nHit,
double& eHitTot,
bool isSignal =
false)
const;
112 std::vector<std::unique_ptr<TileHit>>& allHits_DigiHSTruth,
113 std::unique_ptr<TileHitNonConstContainer>& hits,
114 std::unique_ptr<TileHitNonConstContainer>& hits_DigiHSTruth,
117 std::unique_ptr<TileHitNonConstContainer>& hits,
118 std::unique_ptr<TileHitNonConstContainer>& hits_DigiHSTruth,
120 void prepareAllHits(std::vector<std::unique_ptr<TileHit>>& allHits)
const;
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)" };
130 "Output Tile hit container key"};
133 "Output DigiHSTruth Tile hit container key"};
139 "TileSamplingFraction",
"TileSamplingFraction",
"Input Tile sampling fraction"};
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)"};
148 "Special options to deal with times of hits for cosmics and TB (default=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"};
154 "Sum up energy in [-m_photoStatWindow,+m_photoStatWindow] and use it for photostatistics"};
156 "Method to apply photostatistics (default=2)"};
158 "Skip events with no Tile hits (default=false)"};
160 "Pileup and/or noise added by overlaying random events (default=false)"};
162 "Take trigger time from external tool (default=false)"};
164 "DigiTruth reconstruction"};
166 "usePhotoStatistics",
true,
"Simulate photo statistics effect (default=true)"};
168 "Find and merge multiple hits for the same channel in container (default=true)"};
182 std::unique_ptr<TileHitNonConstContainer>
m_hits{};
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
the preferred mechanism to access information from the different event stores in a pileup job.
Property holding a SG store/key/clid from which a WriteHandle is made.
Helper class for building a TileHitContainer.
AtlasHitsVector< TileHit > TileHitVector
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
Hash table for Tile fragments (==drawers ==collections in StoreGate)
Helper class for TileCal online (hardware) identifiers.
This is a minimal version of a TileHitContainer in which the saved collections remain non-const.
Helper class for TileCal offline identifiers.
Condition object to keep and provide Tile Calorimeter sampling fraction and number of photoelectrons.
Helper class for TileCal offline identifiers of ancillary testbeam detectors and MBTS.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray