ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
PhysicsAnalysis
D3PDMaker
CaloSysD3PDMaker
python
SCD3PDObject.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3
from
D3PDMakerCoreComps.D3PDObject
import
D3PDObject, make_SG_D3PDObject
4
from
AthenaConfiguration.ComponentFactory
import
CompFactory
5
6
D3PD = CompFactory.D3PD
7
8
9
AllSCD3PDObject = make_SG_D3PDObject(
"CaloCellContainer"
,
10
"AllCalo"
,
11
"sc_"
,
12
"SCD3PDObject"
)
13
AllSCD3PDObject.defineBlock( 0,
'Basic'
,
D3PD.SCFillerTool
)
14
15
16
def
_hookForSCD3PDObject_
(c, flags, acc, *args, **kw):
17
18
basFiller = c.BlockFillers[0]
19
print
(
"getattr(c, c.name()) / Type= "
,
type
(basFiller))
20
if
"CaloEtaCut"
in
list(kw.keys()):
21
basFiller.CaloEtaCut = kw[
"CaloEtaCut"
]
22
if
"CaloPhiCut"
in
list(kw.keys()):
23
basFiller.CaloPhiCut = kw[
"CaloPhiCut"
]
24
if
"CaloLayers"
in
list(kw.keys()):
25
basFiller.CaloLayers = kw[
"CaloLayers"
]
26
if
"CaloDetectors"
in
list(kw.keys()):
27
basFiller.CaloDetectors = kw[
"CaloDetectors"
]
28
if
"TileDLayerOption"
in
list(kw.keys()):
29
basFiller.TileDLayerOption = kw[
"TileDLayerOption"
]
30
31
print
(
"%s - CaloEtaCut = "
% (basFiller.name), basFiller.CaloEtaCut)
32
print
(
"%s - CaloPhiCut = "
% (basFiller.name), basFiller.CaloPhiCut)
33
print
(
"%s - CaloLayersCut = "
% (basFiller.name), basFiller.CaloLayers)
34
print
(
"%s - CaloDetectors = "
% (basFiller.name), basFiller.CaloDetectors)
35
#print "%s - TileDLayerOption = " % (basFiller.name), basFiller.TileDLayerOption
36
37
from
LArCabling.LArCablingConfig
import
LArOnOffIdMappingCfg, LArOnOffIdMappingSCCfg
38
acc.merge (LArOnOffIdMappingCfg (flags))
39
acc.merge (LArOnOffIdMappingSCCfg (flags))
40
return
41
42
def
_makeSC_obj_
(name, prefix, object_name,
43
getter=None,
44
sgKey=None,
45
typeName=None,
46
):
47
from
D3PDMakerConfig.D3PDMakerFlags
import
D3PDMakerFlags
48
if
not
typeName:
49
typeName =
"CaloCellContainer"
50
if
not
sgKey:
51
sgKey=
"AllCalo"
52
if
not
getter:
53
getter =
D3PD.SGObjGetterTool
(
54
name +
'_Getter'
,
55
TypeName = typeName,
56
SGKey = sgKey)
57
58
return
D3PD.ObjFillerTool
( name,
59
Prefix = prefix,
60
Getter = getter,
61
ObjectName = object_name,
62
SaveMetadata = \
63
D3PDMakerFlags.SaveObjectMetadata
64
)
65
66
def
make_SCD3PDObject
( typeName="CaloCellContainer",
67
sgKey="AllCalo",
68
prefix="sc_",
69
object_name="SCD3PDObject",
70
*args, **kw ):
71
72
obj = D3PDObject(_makeSC_obj_, prefix, object_name,
73
allow_args=[
"CaloEtaCut"
,
"CaloPhiCut"
,
74
"CaloLayers"
,
"CaloDetectors"
,
"TileDLayerOption"
],
75
sgkey=sgKey,
76
typename=typeName)
77
obj.defineBlock( 0,
'Basic'
,
D3PD.SCFillerTool
)
78
obj.defineHook( _hookForSCD3PDObject_ )
79
return
obj
80
81
SCD3PDObject =
make_SCD3PDObject
( typeName=
"CaloCellContainer"
,
82
sgKey =
"AllCalo"
,
83
prefix =
"sc_"
,
84
CaloEtaCut=[],
85
CaloPhiCut=[],
86
CaloLayers=[],
87
CaloDetectors=[],
88
TileDLayerOption=
False
)
print
void print(char *figname, TCanvas *c1)
Definition
TRTCalib_StrawStatusPlots.cxx:26
D3PD::ObjFillerTool
Object filler tool for a single object.
Definition
ObjFillerTool.h:52
D3PD::SCFillerTool
Block filler tool for EM samplings from a CaloCluster.
Definition
SCFillerTool.h:46
D3PD::SGObjGetterTool
Getter tool to retrieve single objects from StoreGate.
Definition
SGObjGetterTool.h:48
python.SCD3PDObject.make_SCD3PDObject
make_SCD3PDObject(typeName="CaloCellContainer", sgKey="AllCalo", prefix="sc_", object_name="SCD3PDObject", *args, **kw)
Definition
SCD3PDObject.py:70
python.SCD3PDObject._hookForSCD3PDObject_
_hookForSCD3PDObject_(c, flags, acc, *args, **kw)
Definition
SCD3PDObject.py:16
python.SCD3PDObject._makeSC_obj_
_makeSC_obj_(name, prefix, object_name, getter=None, sgKey=None, typeName=None)
Definition
SCD3PDObject.py:46
type
Generated on
for ATLAS Offline Software by
1.17.0