1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
import FWCore.ParameterSet.Config as cms
from PhysicsTools.NanoAOD.common_cff import *
from PhysicsTools.NanoAOD.nano_cff import nanoMetadata
from Validation.HGCalValidation.HLT_TICLIterLabels_cff import hltTiclIterLabels
hltUpgradeNanoTask = cms.Task(nanoMetadata)
hltSimTracksterTable = cms.EDProducer(
"TracksterCollectionTableProducer",
skipNonExistingSrc=cms.bool(True),
src=cms.InputTag("hltTiclSimTracksters"),
cut=cms.string(""),
name=cms.string("hltTiclSimTracksters"),
doc=cms.string("hltTiclSimTracksters"),
singleton=cms.bool(False), # the number of entries is variable
variables=cms.PSet(
raw_energy=Var("raw_energy", "float",
doc="Raw Energy of the trackster [GeV]"),
raw_em_energy=Var("raw_em_energy", "float",
doc="EM raw Energy of the trackster [GeV]"),
raw_pt=Var(
"raw_pt", "float", doc="Trackster raw pT, computed from trackster raw energy and direction [GeV]"),
regressed_energy=Var("regressed_energy", "float",
doc="Regressed Energy of the trackster, for the SimTrackster it corresponds to the GEN-energy"),
barycenter_x=Var("barycenter.x", "float",
doc="Trackster barycenter x [cm]"),
barycenter_y=Var("barycenter.y", "float",
doc="Trackster barycenter y [cm]"),
barycenter_z=Var("barycenter.z", "float",
doc="Trackster barycenter z [cm]"),
barycenter_eta=Var("barycenter.eta", "float",
doc="Trackster barycenter pseudorapidity"),
barycenter_phi=Var("barycenter.phi", "float",
doc="Trackster barycenter phi"),
EV1=Var("eigenvalues()[0]", "float",
doc="Trackster PCA eigenvalues 0"),
EV2=Var("eigenvalues()[1]", "float",
doc="Trackster PCA eigenvalues 1"),
EV3=Var("eigenvalues()[2]", "float",
doc="Trackster PCA eigenvalues 2"),
eVector0_x=Var(
"eigenvectors()[0].x", "float", doc="Trackster PCA principal axis, x component"),
eVector0_y=Var(
"eigenvectors()[0].z", "float", doc="Trackster PCA principal axis, y component"),
eVector0_z=Var(
"eigenvectors()[0].y", "float", doc="Trackster PCA principal axis, z component"),
time=Var("time", "float", doc="Trackster HGCAL time"),
timeError=Var("timeError", "float",
doc="Trackster HGCAL time error")
),
collectionVariables=cms.PSet(
tracksterVertices=cms.PSet(
name=cms.string(f"hltTiclSimTrackstersvertices"),
doc=cms.string("Vertex properties"),
useCount=cms.bool(True),
useOffset=cms.bool(True),
variables=cms.PSet(
vertices=Var("vertices", "uint",
doc="Layer clusters indices."),
vertex_mult=Var(
"vertex_multiplicity",
"float",
doc="Fraction of Layer cluster energy used by the Trackster.",
),
),
)
),
)
hltSimTracksterFromCPsTable = cms.EDProducer(
"TracksterCollectionTableProducer",
skipNonExistingSrc=cms.bool(True),
src=cms.InputTag("hltTiclSimTracksters", "fromCPs"),
cut=cms.string(""),
name=cms.string("hltTiclSimTrackstersFromCPs"),
doc=cms.string("hltTiclSimTrackstersFromCPs"),
singleton=cms.bool(False), # the number of entries is variable
variables=cms.PSet(
raw_energy=Var("raw_energy", "float",
doc="Raw Energy of the trackster [GeV]"),
raw_em_energy=Var("raw_em_energy", "float",
doc="EM raw Energy of the trackster [GeV]"),
raw_pt=Var(
"raw_pt", "float", doc="Trackster raw pT, computed from trackster raw energy and direction [GeV]"),
regressed_energy=Var("regressed_energy", "float",
doc="Regressed Energy of the trackster, for the SimTrackster it corresponds to the GEN-energy"),
barycenter_x=Var("barycenter.x", "float",
doc="Trackster barycenter x [cm]"),
barycenter_y=Var("barycenter.y", "float",
doc="Trackster barycenter y [cm]"),
barycenter_z=Var("barycenter.z", "float",
doc="Trackster barycenter z [cm]"),
barycenter_eta=Var("barycenter.eta", "float",
doc="Trackster barycenter pseudorapidity"),
barycenter_phi=Var("barycenter.phi", "float",
doc="Trackster barycenter phi"),
EV1=Var("eigenvalues()[0]", "float",
doc="Trackster PCA eigenvalues 0"),
EV2=Var("eigenvalues()[1]", "float",
doc="Trackster PCA eigenvalues 1"),
EV3=Var("eigenvalues()[2]", "float",
doc="Trackster PCA eigenvalues 2"),
eVector0_x=Var(
"eigenvectors()[0].x", "float", doc="Trackster PCA principal axis, x component"),
eVector0_y=Var(
"eigenvectors()[0].z", "float", doc="Trackster PCA principal axis, y component"),
eVector0_z=Var(
"eigenvectors()[0].y", "float", doc="Trackster PCA principal axis, z component"),
time=Var("time", "float", doc="Trackster HGCAL time"),
timeError=Var("timeError", "float",
doc="Trackster HGCAL time error")
),
collectionVariables=cms.PSet(
tracksterVertices=cms.PSet(
name=cms.string(f"hltTiclSimTrackstersFromCPsvertices"),
doc=cms.string("Vertex properties"),
useCount=cms.bool(True),
useOffset=cms.bool(True),
variables=cms.PSet(
vertices=Var("vertices", "uint",
doc="Layer clusters indices."),
vertex_mult=Var(
"vertex_multiplicity",
"float",
doc="Fraction of Layer cluster energy used by the Trackster.",
),
),
)
),
)
# Extra tables for SimTracksters using information from SimClusters and CaloParticles
# Might be replaced in case we save CaloParticles and SimClusters, in that case we just need adding the corresponding SimObject indices in the SimTrackster tables
hltTiclSimTrackstersExtraTable = cms.EDProducer("SimTracksterTableProducer",
tableName = cms.string("hltTiclSimTracksters"),
skipNonExistingSrc = cms.bool(True),
simTracksters = cms.InputTag( "hltTiclSimTracksters" ),
caloParticles = cms.InputTag( "mix", "MergedCaloTruth" ),
simClusters = cms.InputTag( "mix", "MergedCaloTruth" ),
caloParticleToSimClustersMap = cms.InputTag("hltTiclSimTracksters"),
precision = cms.int32(7),
)
hltTiclSimTrackstersFromCPsExtraTable = cms.EDProducer("SimTracksterTableProducer",
tableName = cms.string("hltTiclSimTrackstersFromCPs"),
skipNonExistingSrc = cms.bool(True),
simTracksters = cms.InputTag( "hltTiclSimTracksters", "fromCPs"),
caloParticles = cms.InputTag( "mix", "MergedCaloTruth" ),
simClusters = cms.InputTag( "mix", "MergedCaloTruth" ),
caloParticleToSimClustersMap = cms.InputTag("hltTiclSimTracksters"),
precision = cms.int32(7),
)
|