ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
TrigT1CaloCalibTools
TrigT1CaloCalibTools
TriggerTowerThinningAlg.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
// * Author: John Morris (john.morris@cern.ch) *
6
// * Queen Mary University of London *
7
// * *
8
9
#ifndef TRIGT1CALOCALIBTOOLS_TRIGGERTOWERTHINNINGALG_H
10
#define TRIGT1CALOCALIBTOOLS_TRIGGERTOWERTHINNINGALG_H
11
25
26
#include "
AthenaBaseComps/AthAlgTool.h
"
27
#include "
TrigT1Interfaces/TrigT1CaloDefs.h
"
28
#include "
DerivationFrameworkInterfaces/IThinningTool.h
"
29
#include "
xAODTrigL1Calo/TriggerTowerContainer.h
"
30
#include "
StoreGate/ThinningHandleKey.h
"
31
#include "
xAODBase/IParticleContainer.h
"
32
#include "
StoreGate/ReadDecorHandleKey.h
"
33
#include "
AthenaKernel/IAthRNGSvc.h
"
34
#include "GaudiKernel/ServiceHandle.h"
35
36
#include <vector>
37
38
39
namespace
DerivationFramework
{
40
41
class
TriggerTowerThinningAlg
:
public
extends<AthAlgTool, IThinningTool> {
42
43
public
:
44
TriggerTowerThinningAlg
(
const
std::string& t,
const
std::string& n,
const
IInterface* p);
45
virtual
~TriggerTowerThinningAlg
();
46
47
virtual
StatusCode
initialize
()
override
;
48
virtual
StatusCode
finalize
()
override
;
49
virtual
StatusCode
doThinning
(
const
EventContext& ctx)
const override
;
50
51
private
:
52
StringProperty
m_streamName
53
{
this
,
"StreamName"
,
""
,
"Name of the stream being thinned"
};
54
55
SG::ThinningHandleKey<xAOD::TriggerTowerContainer>
m_triggerTowerLocation
56
{
this
,
"TriggerTowerLocation"
,
LVL1::TrigT1CaloDefs::xAODTriggerTowerLocation
,
""
};
57
58
SG::ReadDecorHandleKey<xAOD::TriggerTowerContainer>
m_caloCellETByLayerKey
59
{
this
,
"CaloCellETByLayerKey"
,
m_triggerTowerLocation
.key()+
".CaloCellETByLayer"
,
""
};
60
61
// python configurables
62
double
m_minCaloCellET
;
63
int
m_minADC
;
64
bool
m_useRandom
;
65
double
m_minRandom
;
66
67
// Counters
68
mutable
std::atomic<unsigned long>
m_nEventsProcessed
;
69
mutable
std::atomic<unsigned long>
m_nEventsAllTriggerTowersKeptByRandom
;
70
mutable
std::atomic<unsigned long>
m_nTriggerTowersProcessed
;
71
mutable
std::atomic<unsigned long>
m_nTriggerTowersKept
;
72
mutable
std::atomic<unsigned long>
m_nTriggerTowersRejected
;
73
74
// Tools and random number generator
75
ServiceHandle<IAthRNGSvc>
m_rndmSvc
76
{
this
,
"RndmSvc"
,
"AthRNGSvc"
,
""
};
77
};
78
}
// namespace
79
80
#endif
AthAlgTool.h
IAthRNGSvc.h
IThinningTool.h
ReadDecorHandleKey.h
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
ThinningHandleKey.h
HandleKey object for adding thinning to an object.
TrigT1CaloDefs.h
TriggerTowerContainer.h
DerivationFramework::TriggerTowerThinningAlg::m_nEventsAllTriggerTowersKeptByRandom
std::atomic< unsigned long > m_nEventsAllTriggerTowersKeptByRandom
Definition
TriggerTowerThinningAlg.h:69
DerivationFramework::TriggerTowerThinningAlg::m_caloCellETByLayerKey
SG::ReadDecorHandleKey< xAOD::TriggerTowerContainer > m_caloCellETByLayerKey
Definition
TriggerTowerThinningAlg.h:59
DerivationFramework::TriggerTowerThinningAlg::m_minCaloCellET
double m_minCaloCellET
Definition
TriggerTowerThinningAlg.h:62
DerivationFramework::TriggerTowerThinningAlg::m_streamName
StringProperty m_streamName
Definition
TriggerTowerThinningAlg.h:53
DerivationFramework::TriggerTowerThinningAlg::m_useRandom
bool m_useRandom
Definition
TriggerTowerThinningAlg.h:64
DerivationFramework::TriggerTowerThinningAlg::m_minRandom
double m_minRandom
Definition
TriggerTowerThinningAlg.h:65
DerivationFramework::TriggerTowerThinningAlg::m_rndmSvc
ServiceHandle< IAthRNGSvc > m_rndmSvc
Definition
TriggerTowerThinningAlg.h:76
DerivationFramework::TriggerTowerThinningAlg::TriggerTowerThinningAlg
TriggerTowerThinningAlg(const std::string &t, const std::string &n, const IInterface *p)
Definition
TriggerTowerThinningAlg.cxx:33
DerivationFramework::TriggerTowerThinningAlg::initialize
virtual StatusCode initialize() override
Definition
TriggerTowerThinningAlg.cxx:55
DerivationFramework::TriggerTowerThinningAlg::m_nEventsProcessed
std::atomic< unsigned long > m_nEventsProcessed
Definition
TriggerTowerThinningAlg.h:68
DerivationFramework::TriggerTowerThinningAlg::m_nTriggerTowersRejected
std::atomic< unsigned long > m_nTriggerTowersRejected
Definition
TriggerTowerThinningAlg.h:72
DerivationFramework::TriggerTowerThinningAlg::~TriggerTowerThinningAlg
virtual ~TriggerTowerThinningAlg()
Definition
TriggerTowerThinningAlg.cxx:51
DerivationFramework::TriggerTowerThinningAlg::m_minADC
int m_minADC
Definition
TriggerTowerThinningAlg.h:63
DerivationFramework::TriggerTowerThinningAlg::m_nTriggerTowersKept
std::atomic< unsigned long > m_nTriggerTowersKept
Definition
TriggerTowerThinningAlg.h:71
DerivationFramework::TriggerTowerThinningAlg::m_triggerTowerLocation
SG::ThinningHandleKey< xAOD::TriggerTowerContainer > m_triggerTowerLocation
Definition
TriggerTowerThinningAlg.h:56
DerivationFramework::TriggerTowerThinningAlg::doThinning
virtual StatusCode doThinning(const EventContext &ctx) const override
Definition
TriggerTowerThinningAlg.cxx:66
DerivationFramework::TriggerTowerThinningAlg::m_nTriggerTowersProcessed
std::atomic< unsigned long > m_nTriggerTowersProcessed
Definition
TriggerTowerThinningAlg.h:70
DerivationFramework::TriggerTowerThinningAlg::finalize
virtual StatusCode finalize() override
Definition
TriggerTowerThinningAlg.cxx:160
LVL1::TrigT1CaloDefs::xAODTriggerTowerLocation
static const std::string xAODTriggerTowerLocation
Definition
TrigT1CaloDefs.h:36
SG::ReadDecorHandleKey
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Definition
StoreGate/StoreGate/ReadDecorHandleKey.h:86
SG::ThinningHandleKey
HandleKey object for adding thinning to an object.
Definition
ThinningHandleKey.h:39
ServiceHandle
Definition
ClusterMakerTool.h:36
DerivationFramework
THE reconstruction tool.
Definition
CascadeTools.h:16
IParticleContainer.h
Generated on
for ATLAS Offline Software by
1.17.0