ATLAS Offline Software
Loading...
Searching...
No Matches
JetSamplingCnv_p2.cxx
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
5*/
6
7// JetSamplingCnv_p2.cxx
8// Implementation file for class JetSamplingCnv_p2
9// Created by Belen.Salvachua@cern.ch based on JetSamplingCnv_p1.cxx from
10// S.Binet<binet@cern.ch>
11// Date : Dec 2008
13
14
15// STL includes
16
17// JetEvent includes
19
20// JetEventTPCnv includes
22
23// little MACRO helpers
24#define TPCNV_PERSTOTRANS(p,t,x) t->x = p->x
25//#define TPCNV_TRANSTOPERS(t,p,x) p->x = t->x
26#define TPDFCNV_TRANSTOPERS(t,p,x) p->x = static_cast< float >( t->x ) // use cast to convert from double to float, the opposite is not needed
27
28
29// statics
31
32// Convert Persistent (JetSampling_p2) to Transient (latest version, JetSampling)
34 JetSampling* trans,
35 MsgStream& msg ) const
36{
37// msg << MSG::DEBUG << "Loading JetSampling from persistent state..."
38// << endmsg;
39
40 m_hlvCnv.persToTrans( &pers->m_pr, &trans->m_pr, msg ); // reco jet at EM scale
41 m_hlvCnv.persToTrans( &pers->m_pt, &trans->m_pt, msg ); // PIC jet
42 m_hlvCnv.persToTrans( &pers->m_pn, &trans->m_pn, msg ); // NTJ jet
43 m_hlvCnv.persToTrans( &pers->m_pd, &trans->m_pd, msg ); // data driven kinematics
44 m_hlvCnv.persToTrans( &pers->m_h1, &trans->m_h1, msg ); // calibrated jet H1
45 m_hlvCnv.persToTrans( &pers->m_pisa, &trans->m_pisa, msg ); // calibrated jet pisa
46 m_hlvCnv.persToTrans( &pers->m_samp, &trans->m_samp, msg ); // calibrated jet sampling
47
48 // Distance to 1st and 2nd NTJ jet
49 TPCNV_PERSTOTRANS( pers, trans, m_dr1 );
50 TPCNV_PERSTOTRANS( pers, trans, m_dr2 );
51
52 // Jet sampling layer info
53 TPCNV_PERSTOTRANS( pers, trans, m_ejsPreSamplerB );
54 TPCNV_PERSTOTRANS( pers, trans, m_ejsPreSamplerE );
55 TPCNV_PERSTOTRANS( pers, trans, m_ejsEMB1 );
56 TPCNV_PERSTOTRANS( pers, trans, m_ejsEME1 );
57 TPCNV_PERSTOTRANS( pers, trans, m_ejsEMB2 );
58 TPCNV_PERSTOTRANS( pers, trans, m_ejsEME2 );
59 TPCNV_PERSTOTRANS( pers, trans, m_ejsEMB3 );
60 TPCNV_PERSTOTRANS( pers, trans, m_ejsEME3 );
61 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileBar0 );
62 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileExt0 );
63 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileBar1 );
64 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileExt1 );
65 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileBar2 );
66 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileExt2 );
67 TPCNV_PERSTOTRANS( pers, trans, m_ejsHEC0 );
68 TPCNV_PERSTOTRANS( pers, trans, m_ejsHEC1 );
69 TPCNV_PERSTOTRANS( pers, trans, m_ejsHEC2 );
70 TPCNV_PERSTOTRANS( pers, trans, m_ejsHEC3 );
71 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileGap1 );
72 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileGap2 );
73 TPCNV_PERSTOTRANS( pers, trans, m_ejsTileGap3 );
74 TPCNV_PERSTOTRANS( pers, trans, m_ejsFCAL0 );
75 TPCNV_PERSTOTRANS( pers, trans, m_ejsFCAL1 );
76 TPCNV_PERSTOTRANS( pers, trans, m_ejsFCAL2 );
77
78 TPCNV_PERSTOTRANS( pers, trans, m_tot );
79 TPCNV_PERSTOTRANS( pers, trans, m_ctot );
80 TPCNV_PERSTOTRANS( pers, trans, m_ehad );
81 TPCNV_PERSTOTRANS( pers, trans, m_eem );
82
83 // JetSums no longer exist as members in JetSampling_p2
84
85 TPCNV_PERSTOTRANS( pers, trans, m_eCryo );
86 TPCNV_PERSTOTRANS( pers, trans, m_eGap );
87 TPCNV_PERSTOTRANS( pers, trans, m_eScint );
88 TPCNV_PERSTOTRANS( pers, trans, m_eNull );
89
90 // JetECS
91 for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p2::ECS_t>; ++i ) {
92 TPCNV_PERSTOTRANS( pers, trans, m_ePreSamBCell[i] );
93 TPCNV_PERSTOTRANS( pers, trans, m_ePreSamECell[i] );
94 TPCNV_PERSTOTRANS( pers, trans, m_eEMB1Cell[i] );
95 TPCNV_PERSTOTRANS( pers, trans, m_eEMB2Cell1[i] );
96 TPCNV_PERSTOTRANS( pers, trans, m_eEMB2Cell2[i] );
97 TPCNV_PERSTOTRANS( pers, trans, m_eEMB3Cell1[i] );
98 TPCNV_PERSTOTRANS( pers, trans, m_eEMB3Cell2[i] );
99 TPCNV_PERSTOTRANS( pers, trans, m_eEME1Cell[i] );
100 TPCNV_PERSTOTRANS( pers, trans, m_eEME2Cell1[i] );
101 TPCNV_PERSTOTRANS( pers, trans, m_eEME2Cell2[i] );
102 TPCNV_PERSTOTRANS( pers, trans, m_eEME3Cell1[i] );
103 TPCNV_PERSTOTRANS( pers, trans, m_eEME3Cell2[i] );
104 TPCNV_PERSTOTRANS( pers, trans, m_eTileBar0Cell[i] );
105 TPCNV_PERSTOTRANS( pers, trans, m_eTileBar1Cell[i] );
106 TPCNV_PERSTOTRANS( pers, trans, m_eTileBar2Cell[i] );
107 TPCNV_PERSTOTRANS( pers, trans, m_eTileExt0Cell[i] );
108 TPCNV_PERSTOTRANS( pers, trans, m_eTileExt1Cell[i] );
109 TPCNV_PERSTOTRANS( pers, trans, m_eTileExt2Cell[i] );
110 TPCNV_PERSTOTRANS( pers, trans, m_eHec0Cell1[i] );
111 TPCNV_PERSTOTRANS( pers, trans, m_eHec1Cell1[i] );
112 TPCNV_PERSTOTRANS( pers, trans, m_eHec2Cell1[i] );
113 TPCNV_PERSTOTRANS( pers, trans, m_eHec3Cell1[i] );
114 TPCNV_PERSTOTRANS( pers, trans, m_eHec0Cell2[i] );
115 TPCNV_PERSTOTRANS( pers, trans, m_eHec1Cell2[i] );
116 TPCNV_PERSTOTRANS( pers, trans, m_eHec2Cell2[i] );
117 TPCNV_PERSTOTRANS( pers, trans, m_eHec3Cell2[i] );
118 TPCNV_PERSTOTRANS( pers, trans, m_eFCal0Cell[i] );
119 TPCNV_PERSTOTRANS( pers, trans, m_eFCal1Cell[i] );
120 TPCNV_PERSTOTRANS( pers, trans, m_eFCal2Cell[i] );
121 }
122
123 // Energy in cone radii, from cells and from tracks
124 for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p2::ERad_t>; ++i ) {
125 TPCNV_PERSTOTRANS( pers, trans, m_erad_cells[i] );
126 TPCNV_PERSTOTRANS( pers, trans, m_erad_tracks[i] );
127 }
128
129// msg << MSG::DEBUG << "Loaded JetSampling from persistent state [OK]"
130// << endmsg;
131 }
132
134 JetSampling_p2* pers,
135 MsgStream& msg ) const
136{
137// msg << MSG::DEBUG << "Creating persistent state of JetSampling..."
138// << endmsg;
139
140 m_hlvCnv.transToPers( &trans->m_pr, &pers->m_pr, msg ); // reconstructed jet at EM scale
141 m_hlvCnv.transToPers( &trans->m_pt, &pers->m_pt, msg ); // PIC jet
142 m_hlvCnv.transToPers( &trans->m_pn, &pers->m_pn, msg ); // NTJ jet
143 m_hlvCnv.transToPers( &trans->m_pd, &pers->m_pd, msg ); // data driven jet kinematics
144 m_hlvCnv.transToPers( &trans->m_h1, &pers->m_h1, msg ); // calibrated jet H1
145 m_hlvCnv.transToPers( &trans->m_pisa, &pers->m_pisa, msg ); // calibrated jet PISA
146 m_hlvCnv.transToPers( &trans->m_samp, &pers->m_samp, msg ); // calibrated jet sampling
147
148 // Distnace to 1st and 2nd NTJ jet
149 TPDFCNV_TRANSTOPERS( trans, pers, m_dr1 );
150 TPDFCNV_TRANSTOPERS( trans, pers, m_dr2 );
151
152 // Jet sampling layer info
153 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsPreSamplerB );
154 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsPreSamplerE );
155 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsEMB1 );
156 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsEME1 );
157 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsEMB2 );
158 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsEME2 );
159 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsEMB3 );
160 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsEME3 );
161 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileBar0 );
162 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileExt0 );
163 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileBar1 );
164 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileExt1 );
165 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileBar2 );
166 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileExt2 );
167 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsHEC0 );
168 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsHEC1 );
169 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsHEC2 );
170 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsHEC3 );
171 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileGap1 );
172 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileGap2 );
173 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsTileGap3 );
174 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsFCAL0 );
175 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsFCAL1 );
176 TPDFCNV_TRANSTOPERS( trans, pers, m_ejsFCAL2 );
177
178 TPDFCNV_TRANSTOPERS( trans, pers, m_tot );
179 TPDFCNV_TRANSTOPERS( trans, pers, m_ctot );
180 TPDFCNV_TRANSTOPERS( trans, pers, m_ehad );
181 TPDFCNV_TRANSTOPERS( trans, pers, m_eem );
182
183 // JetSums no longer exist as members
184
185 TPDFCNV_TRANSTOPERS( trans, pers, m_eCryo );
186 TPDFCNV_TRANSTOPERS( trans, pers, m_eGap );
187 TPDFCNV_TRANSTOPERS( trans, pers, m_eScint );
188 TPDFCNV_TRANSTOPERS( trans, pers, m_eNull );
189
190 // JetECS
191 for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p2::ECS_t>; ++i ) {
192 TPDFCNV_TRANSTOPERS( trans, pers, m_ePreSamBCell[i] );
193 TPDFCNV_TRANSTOPERS( trans, pers, m_ePreSamECell[i] );
194 TPDFCNV_TRANSTOPERS( trans, pers, m_eEMB1Cell[i] );
195 TPDFCNV_TRANSTOPERS( trans, pers, m_eEMB2Cell1[i] );
196 TPDFCNV_TRANSTOPERS( trans, pers, m_eEMB2Cell2[i] );
197 TPDFCNV_TRANSTOPERS( trans, pers, m_eEMB3Cell1[i] );
198 TPDFCNV_TRANSTOPERS( trans, pers, m_eEMB3Cell2[i] );
199 TPDFCNV_TRANSTOPERS( trans, pers, m_eEME1Cell[i] );
200 TPDFCNV_TRANSTOPERS( trans, pers, m_eEME2Cell1[i] );
201 TPDFCNV_TRANSTOPERS( trans, pers, m_eEME2Cell2[i] );
202 TPDFCNV_TRANSTOPERS( trans, pers, m_eEME3Cell1[i] );
203 TPDFCNV_TRANSTOPERS( trans, pers, m_eEME3Cell2[i] );
204 TPDFCNV_TRANSTOPERS( trans, pers, m_eTileBar0Cell[i] );
205 TPDFCNV_TRANSTOPERS( trans, pers, m_eTileBar1Cell[i] );
206 TPDFCNV_TRANSTOPERS( trans, pers, m_eTileBar2Cell[i] );
207 TPDFCNV_TRANSTOPERS( trans, pers, m_eTileExt0Cell[i] );
208 TPDFCNV_TRANSTOPERS( trans, pers, m_eTileExt1Cell[i] );
209 TPDFCNV_TRANSTOPERS( trans, pers, m_eTileExt2Cell[i] );
210 TPDFCNV_TRANSTOPERS( trans, pers, m_eHec0Cell1[i] );
211 TPDFCNV_TRANSTOPERS( trans, pers, m_eHec1Cell1[i] );
212 TPDFCNV_TRANSTOPERS( trans, pers, m_eHec2Cell1[i] );
213 TPDFCNV_TRANSTOPERS( trans, pers, m_eHec3Cell1[i] );
214 TPDFCNV_TRANSTOPERS( trans, pers, m_eHec0Cell2[i] );
215 TPDFCNV_TRANSTOPERS( trans, pers, m_eHec1Cell2[i] );
216 TPDFCNV_TRANSTOPERS( trans, pers, m_eHec2Cell2[i] );
217 TPDFCNV_TRANSTOPERS( trans, pers, m_eHec3Cell2[i] );
218 TPDFCNV_TRANSTOPERS( trans, pers, m_eFCal0Cell[i] );
219 TPDFCNV_TRANSTOPERS( trans, pers, m_eFCal1Cell[i] );
220 TPDFCNV_TRANSTOPERS( trans, pers, m_eFCal2Cell[i] );
221 }
222
223 // Energy in cone radii, from cells and from tracks
224 for ( std::size_t i = 0; i != std::tuple_size_v<JetSampling_p2::ERad_t>; ++i ) {
225 TPDFCNV_TRANSTOPERS( trans, pers, m_erad_cells[i] );
226 TPDFCNV_TRANSTOPERS( trans, pers, m_erad_tracks[i] );
227 }
228
229// msg << MSG::DEBUG << "Created persistent state of JetSampling [OK]"
230// << endmsg;
231 }
#define TPCNV_PERSTOTRANS(p, t, x)
#define TPDFCNV_TRANSTOPERS(t, p, x)
static const HepLorentzVectorCnv_p1 m_hlvCnv
virtual void persToTrans(const JetSampling_p2 *pers, JetSampling *trans, MsgStream &msg) const override
Method creating the transient representation of JetSampling from its persistent representation JetSam...
virtual void transToPers(const JetSampling *trans, JetSampling_p2 *pers, MsgStream &msg) const override
Method creating the persistent representation JetSampling_p2 from its transient representation JetSam...
HepLorentzVector_p1 m_pr
Reconstructed jet at EM scale kinematics.
HepLorentzVector_p1 m_pisa
Calibrated jet kinematics (PISA)
HepLorentzVector_p1 m_pt
Particle-In-Cone Truth jet kinematics.
HepLorentzVector_p1 m_pd
Data driven jet kinematics, could be any 4-mom vector used as reference for calibration.
HepLorentzVector_p1 m_samp
Calibbrated jet kinematics (samplings)
HepLorentzVector_p1 m_pn
Nearest truth jet kinematics.
HepLorentzVector_p1 m_h1
Calibrated jet kinematics (H1)
CLHEP::HepLorentzVector m_h1
CLHEP::HepLorentzVector m_pd
Data driven jet kinematics, reference jet kinematics It could be a CLHEP::HepLorentzVector with the k...
CLHEP::HepLorentzVector m_pisa
CLHEP::HepLorentzVector m_pt
Particle-In-Cone jet kinematics.
CLHEP::HepLorentzVector m_samp
CLHEP::HepLorentzVector m_pn
Nearest Truth Jet kinematics.
CLHEP::HepLorentzVector m_pr
Reconstructed Jet at EM scale kinematics.
MsgStream & msg
Definition testRead.cxx:32