ATLAS Offline Software
Loading...
Searching...
No Matches
TRTOverlay.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETOVERLAY_TRTOVERLAY_H
6#define INDETOVERLAY_TRTOVERLAY_H
7
9//
14//
16//
19#include "GaudiKernel/ServiceHandle.h"
20
21
22class TRT_ID;
23
24namespace CLHEP {
25class HepRandomEngine;
26}
27
28namespace OverlayTesting {
29class TRTOverlay_test;
30}
31
33 public:
35
36 TRTOverlay(const std::string &name, ISvcLocator *pSvcLocator);
37
38 virtual StatusCode initialize() override final;
39 virtual StatusCode execute(const EventContext &ctx) const override final;
40
41 private:
42 StatusCode overlayContainer(
43 const EventContext &ctx, const TRT_RDO_Container *bkgContainer,
44 const TRT_RDO_Container *signalContainer,
45 TRT_RDO_Container *outputContainer,
46 const InDetSimDataCollection *signalSDOCollection,
47 DataPool<TRT_LoLumRawData>& dataItemsPool) const;
48
49 void mergeCollections(TRT_RDO_Collection *bkgCollection,
50 TRT_RDO_Collection *signalCollection,
51 TRT_RDO_Collection *outputCollection,
52 double occupancy,
53 const InDetSimDataCollection *signalSDOCollection,
54 const TRTCond::StrawStatusData *strawStatusHT,
55 CLHEP::HepRandomEngine *rndmEngine) const;
56
58
59 Gaudi::Property<bool> m_sortBkgInput{this, "SortBkgInput", false,
60 "Sort background input RDOs"};
61
63 this, "BkgInputKey", "Bkg_TRT_RDOs",
64 " ReadHandleKey for Background Input TRT_RDO_Container"};
66 this, "SignalInputKey", "Sig_TRT_RDOs",
67 "ReadHandleKey for Signal Input TRT_RDO_Container"};
69 this, "OutputKey", "TRT_RDOs",
70 "WriteHandleKey for Output TRT_RDO_Container"};
72 this, "SignalInputSDOKey", "Sig_TRT_SDO_Map",
73 "ReadHandleKey for Signal Input InDetSimDataCollection for TRT"};
75 this, "StrawStatusHT", "StrawStatusHTData", "StrawStatusHT key"};
76
77 // Following tools, services and configurables are there only for the correct
78 // treatment of HT hits
79 ServiceHandle<IAthRNGSvc> m_rndmSvc{this, "RndmSvc", "AthRNGSvc",
80 "Random Number Service"};
81
82 Gaudi::Property<double> m_HTOccupancyCorrectionB{
83 this, "TRT_HT_OccupancyCorrectionBarrel", 0.110, ""};
84 Gaudi::Property<double> m_HTOccupancyCorrectionEC{
85 this, "TRT_HT_OccupancyCorrectionEndcap", 0.090, ""};
86 Gaudi::Property<double> m_HTOccupancyCorrectionB_noE{
87 this, "TRT_HT_OccupancyCorrectionBarrelNoE", 0.060, ""};
88 Gaudi::Property<double> m_HTOccupancyCorrectionEC_noE{
89 this, "TRT_HT_OccupancyCorrectionEndcapNoE", 0.050, ""};
90 Gaudi::Property<double> m_HTOccupancyCorrectionB_Ar{
91 this, "TRT_HT_OccupancyCorrectionBarrelAr", 0.100, ""};
92 Gaudi::Property<double> m_HTOccupancyCorrectionEC_Ar{
93 this, "TRT_HT_OccupancyCorrectionEndcapAr", 0.101, ""};
94 Gaudi::Property<double> m_HTOccupancyCorrectionB_Ar_noE{
95 this, "TRT_HT_OccupancyCorrectionBarrelArNoE", 0.088, ""};
96 Gaudi::Property<double> m_HTOccupancyCorrectionEC_Ar_noE{
97 this, "TRT_HT_OccupancyCorrectionEndcapArNoE", 0.102, ""};
98 ToolHandle<InDet::ITRT_LocalOccupancy> m_TRT_LocalOccupancyTool{
99 this, "TRT_LocalOccupancyTool", "TRT_LocalOccupancy", ""};
100};
101
102#endif // INDETOVERLAY_TRTOVERLAY_H
InDetRawDataCollection< TRT_RDORawData > TRT_RDO_Collection
InDetRawDataContainer< InDetRawDataCollection< TRT_RDORawData > > TRT_RDO_Container
An algorithm that can be simultaneously executed in multiple threads.
a typed memory pool that saves time spent allocation small object.
Definition DataPool.h:63
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.
Gaudi::Property< double > m_HTOccupancyCorrectionB_noE
Definition TRTOverlay.h:86
virtual StatusCode initialize() override final
virtual StatusCode execute(const EventContext &ctx) const override final
friend class OverlayTesting::TRTOverlay_test
Definition TRTOverlay.h:34
Gaudi::Property< double > m_HTOccupancyCorrectionEC_noE
Definition TRTOverlay.h:88
Gaudi::Property< double > m_HTOccupancyCorrectionB_Ar_noE
Definition TRTOverlay.h:94
Gaudi::Property< double > m_HTOccupancyCorrectionB_Ar
Definition TRTOverlay.h:90
SG::WriteHandleKey< TRT_RDO_Container > m_outputKey
Definition TRTOverlay.h:68
Gaudi::Property< double > m_HTOccupancyCorrectionEC_Ar
Definition TRTOverlay.h:92
Gaudi::Property< double > m_HTOccupancyCorrectionEC
Definition TRTOverlay.h:84
Gaudi::Property< bool > m_sortBkgInput
Definition TRTOverlay.h:59
StatusCode overlayContainer(const EventContext &ctx, const TRT_RDO_Container *bkgContainer, const TRT_RDO_Container *signalContainer, TRT_RDO_Container *outputContainer, const InDetSimDataCollection *signalSDOCollection, DataPool< TRT_LoLumRawData > &dataItemsPool) const
void mergeCollections(TRT_RDO_Collection *bkgCollection, TRT_RDO_Collection *signalCollection, TRT_RDO_Collection *outputCollection, double occupancy, const InDetSimDataCollection *signalSDOCollection, const TRTCond::StrawStatusData *strawStatusHT, CLHEP::HepRandomEngine *rndmEngine) const
Here we take 2 view containers with elements owned by the DataPool we modify some of them and push th...
SG::ReadHandleKey< TRT_RDO_Container > m_bkgInputKey
Definition TRTOverlay.h:62
ToolHandle< InDet::ITRT_LocalOccupancy > m_TRT_LocalOccupancyTool
Definition TRTOverlay.h:98
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition TRTOverlay.h:79
SG::ReadHandleKey< InDetSimDataCollection > m_signalInputSDOKey
Definition TRTOverlay.h:71
Gaudi::Property< double > m_HTOccupancyCorrectionB
Definition TRTOverlay.h:82
Gaudi::Property< double > m_HTOccupancyCorrectionEC_Ar_noE
Definition TRTOverlay.h:96
TRTOverlay(const std::string &name, ISvcLocator *pSvcLocator)
SG::ReadHandleKey< TRT_RDO_Container > m_signalInputKey
Definition TRTOverlay.h:65
SG::ReadCondHandleKey< TRTCond::StrawStatusData > m_strawStatusHTKey
Definition TRTOverlay.h:74
const TRT_ID * m_trtId
Definition TRTOverlay.h:57
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
#define private