ATLAS Offline Software
Loading...
Searching...
No Matches
getIsolationAccessor.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4
5// Local include(s):
7
8// System include(s):
9#include <iostream>
10
12#define DEFINE_ACCESSOR(TYPE) \
13 case xAOD::Iso::TYPE: \
14{ \
15 static const SG::AuxElement::Accessor< float > a( #TYPE); \
16 return &a; \
17} \
18break;
19
20
21namespace xAOD {
22
25 switch( type ) {
26 //EtCone variables
27 DEFINE_ACCESSOR( etcone20 );
28 DEFINE_ACCESSOR( etcone30 );
29 DEFINE_ACCESSOR( etcone40 );
30 //PtCone variables
31 DEFINE_ACCESSOR( ptcone20 );
32 DEFINE_ACCESSOR( ptcone30 );
33 DEFINE_ACCESSOR( ptcone40 );
34 DEFINE_ACCESSOR( ptcone50 );
35 // TopoEtcone variables:
36 DEFINE_ACCESSOR( topoetcone20 );
37 DEFINE_ACCESSOR( topoetcone30 );
38 DEFINE_ACCESSOR( topoetcone40 );
39 // Mini-Isolation (http://arxiv.org/abs/1007.2221) variables:
40 DEFINE_ACCESSOR(ptvarcone20);
41 DEFINE_ACCESSOR(ptvarcone30);
42 DEFINE_ACCESSOR(ptvarcone40);
43 // Ptcone variables for high mu:
44 DEFINE_ACCESSOR(ptcone20_Nonprompt_All_MaxWeightTTVA_pt500);
45 DEFINE_ACCESSOR(ptcone30_Nonprompt_All_MaxWeightTTVA_pt500);
46 DEFINE_ACCESSOR(ptcone40_Nonprompt_All_MaxWeightTTVA_pt500);
47 DEFINE_ACCESSOR(ptcone20_Nonprompt_All_MaxWeightTTVA_pt1000);
48 DEFINE_ACCESSOR(ptcone30_Nonprompt_All_MaxWeightTTVA_pt1000);
49 DEFINE_ACCESSOR(ptcone40_Nonprompt_All_MaxWeightTTVA_pt1000);
50 DEFINE_ACCESSOR(ptcone20_Nonprompt_All_MaxWeightTTVALooseCone_pt500);
51 DEFINE_ACCESSOR(ptcone30_Nonprompt_All_MaxWeightTTVALooseCone_pt500);
52 DEFINE_ACCESSOR(ptcone40_Nonprompt_All_MaxWeightTTVALooseCone_pt500);
53 DEFINE_ACCESSOR(ptcone20_Nonprompt_All_MaxWeightTTVALooseCone_pt1000);
54 DEFINE_ACCESSOR(ptcone30_Nonprompt_All_MaxWeightTTVALooseCone_pt1000);
55 DEFINE_ACCESSOR(ptcone40_Nonprompt_All_MaxWeightTTVALooseCone_pt1000);
56 // Mini-Isolation (http://arxiv.org/abs/1007.2221) variables for high mu:
57 DEFINE_ACCESSOR(ptvarcone20_Nonprompt_All_MaxWeightTTVA_pt500);
58 DEFINE_ACCESSOR(ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt500);
59 DEFINE_ACCESSOR(ptvarcone40_Nonprompt_All_MaxWeightTTVA_pt500);
60 DEFINE_ACCESSOR(ptvarcone20_Nonprompt_All_MaxWeightTTVA_pt1000);
61 DEFINE_ACCESSOR(ptvarcone30_Nonprompt_All_MaxWeightTTVA_pt1000);
62 DEFINE_ACCESSOR(ptvarcone40_Nonprompt_All_MaxWeightTTVA_pt1000);
63 DEFINE_ACCESSOR(ptvarcone20_Nonprompt_All_MaxWeightTTVALooseCone_pt500);
64 DEFINE_ACCESSOR(ptvarcone30_Nonprompt_All_MaxWeightTTVALooseCone_pt500);
65 DEFINE_ACCESSOR(ptvarcone40_Nonprompt_All_MaxWeightTTVALooseCone_pt500);
66 DEFINE_ACCESSOR(ptvarcone20_Nonprompt_All_MaxWeightTTVALooseCone_pt1000);
67 DEFINE_ACCESSOR(ptvarcone30_Nonprompt_All_MaxWeightTTVALooseCone_pt1000);
68 DEFINE_ACCESSOR(ptvarcone40_Nonprompt_All_MaxWeightTTVALooseCone_pt1000);
69 // neutral eflow
70 DEFINE_ACCESSOR(neflowisol20);
71 DEFINE_ACCESSOR(neflowisol30);
72 DEFINE_ACCESSOR(neflowisol40);
73 default:
74 std::cerr << "xAOD::Primitives ERROR Unknown float IsolationType ("
75 << type << ") requested" << std::endl;
76 return nullptr;
77 }
78 }
79}// namespace xAOD
#define DEFINE_ACCESSOR(TYPE, NAME)
Helper macro for Accessor objects.
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:572
IsolationType
Overall enumeration for isolation types in xAOD files.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
const SG::AuxElement::Accessor< float > * getIsolationAccessor(Iso::IsolationType type)
Get the Accessor object for a given isolation type.