ATLAS Offline Software
xAODTauJetAuxContainerCnv_v1.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 // System include(s):
7 #include <stdexcept>
8 
9 // Gaudi/Athena include(s):
10 #include "GaudiKernel/MsgStream.h"
11 
12 // EDM include(s):
15 
16 // Local include(s):
18 
19 
21 {
22 }
23 
27  MsgStream& /*log*/ ) const {
28 
29  // Clear the transient object:
30  newObj->resize( 0 );
31 
32  // Set up interface containers on top of them:
34  for( size_t i = 0; i < oldObj->size(); ++i ) {
35  oldInt.push_back( new xAOD::TauJet_v1() );
36  }
37  oldInt.setStore( oldObj );
38  xAOD::TauJetContainer newInt;
39  newInt.setStore( newObj );
40 
41  // Loop over the interface objects, and do the conversion with their help:
42  for( const xAOD::TauJet_v1* oldTau : oldInt ) {
43 
44  // Add an object to the output container:
45  xAOD::TauJet* newTau = new xAOD::TauJet;
46  newInt.push_back( newTau );
47 
48  //
49  // Copy the 4-momentum variables:
50  //
51  newTau->setP4( oldTau->pt(), oldTau->eta(), oldTau->phi(), oldTau->m() );
52  newTau->setP4( xAOD::TauJetParameters::JetSeed, oldTau->ptJetSeed(), oldTau->etaJetSeed(), oldTau->phiJetSeed(), oldTau->mJetSeed() );
53  newTau->setP4( xAOD::TauJetParameters::DetectorAxis, oldTau->ptDetectorAxis(), oldTau->etaDetectorAxis(), oldTau->phiDetectorAxis(), oldTau->mDetectorAxis() );
54  newTau->setP4( xAOD::TauJetParameters::IntermediateAxis, oldTau->ptIntermediateAxis(), oldTau->etaIntermediateAxis(), oldTau->phiIntermediateAxis(), oldTau->mIntermediateAxis() );
55  newTau->setP4( xAOD::TauJetParameters::TauEnergyScale, oldTau->ptTauEnergyScale(), oldTau->etaTauEnergyScale(), oldTau->phiTauEnergyScale(), oldTau->mTauEnergyScale() );
56  newTau->setP4( xAOD::TauJetParameters::TauEtaCalib, oldTau->ptTauEtaCalib(), oldTau->etaTauEtaCalib(), oldTau->phiTauEtaCalib(), oldTau->mTauEtaCalib() );
57  newTau->setP4( xAOD::TauJetParameters::PanTauCellBased, oldTau->ptPanTauCellBased(), oldTau->etaPanTauCellBased(), oldTau->phiPanTauCellBased(), oldTau->mPanTauCellBased() );
58  newTau->setP4( xAOD::TauJetParameters::PanTauCellBasedProto, oldTau->ptPanTauCellBasedProto(), oldTau->etaPanTauCellBasedProto(), oldTau->phiPanTauCellBasedProto(), oldTau->mPanTauCellBasedProto() );
59 
60  // ROI and charge
61  newTau->setROIWord( oldTau->ROIWord() );
62  newTau->setCharge( oldTau->charge() );
63  newTau->setTrackFilterProngs( oldTau->trackFilterProngs() );
64  newTau->setTrackFilterQuality( oldTau->trackFilterQuality() );
65  newTau->setPi0ConeDR( oldTau->pi0ConeDR() );
66 
67  //
68  //copy PID variables
69  //
80 
81  //
82  //set individual int type details variables
83  //
88 
89  //
90  //set individual float type details variables
91  //
117  newTau->setDetail(xAOD::TauJetParameters::dRmax , oldTau->detail<float>(xAOD::TauJetParameters::dRmax) );
142 
143 
144  //
145  //set pantau details
146  //
159 
160  //copy element links
161  newTau->setJetLink( oldTau->jetLink() );
162  newTau->setVertexLink( oldTau->vertexLink() );
163  newTau->setSecondaryVertexLink( oldTau->secondaryVertexLink() );
164 
165  const static SG::AuxElement::Accessor<xAOD::TauJet_v1::PFOLinks_t> neutralPFOAcc ("neutral_PFOLinks");
166  if (neutralPFOAcc.isAvailable (*oldTau)) {
167  newTau->setNeutralPFOLinks( oldTau->neutral_PFOLinks() );
168  }
169  const static SG::AuxElement::Accessor<xAOD::TauJet_v1::PFOLinks_t> chargedPFOAcc ("charged_PFOLinks");
170  if (chargedPFOAcc.isAvailable (*oldTau)) {
171  newTau->setChargedPFOLinks( oldTau->charged_PFOLinks() );
172  }
173  const static SG::AuxElement::Accessor<xAOD::TauJet_v1::PFOLinks_t> pi0PFOAcc ("pi0_PFOLinks");
174  if (pi0PFOAcc.isAvailable (*oldTau)) {
175  newTau->setPi0PFOLinks( oldTau->pi0_PFOLinks() );
176  }
177  const static SG::AuxElement::Accessor<xAOD::TauJet_v1::PFOLinks_t> shotPFOAcc ("shot_PFOLinks");
178  if (shotPFOAcc.isAvailable (*oldTau)) {
179  newTau->setShotPFOLinks( oldTau->shot_PFOLinks() );
180  }
181 
182  //v2 doesn't have pfo element link with specific type name, so copy cellbased ones into proto
183  const static SG::AuxElement::Accessor<xAOD::TauJet_v1::PFOLinks_t> cellBasedNeutralPFOAcc ("cellBased_Neutral_PFOLinks");
184  if (cellBasedNeutralPFOAcc.isAvailable (*oldTau)) {
185  newTau->setProtoNeutralPFOLinks( oldTau->cellBased_Neutral_PFOLinks() );
186  }
187  const static SG::AuxElement::Accessor<xAOD::TauJet_v1::PFOLinks_t> cellBasedChargedPFOAcc ("cellBased_Charged_PFOLinks");
188  if (cellBasedChargedPFOAcc.isAvailable (*oldTau)) {
189  newTau->setProtoChargedPFOLinks( oldTau->cellBased_Charged_PFOLinks() );
190  }
191  const static SG::AuxElement::Accessor<xAOD::TauJet_v1::PFOLinks_t> cellBased_Pi0_PFOAcc ("cellBased_Pi0_PFOLinks");
192  if (cellBasedChargedPFOAcc.isAvailable (*oldTau)) {
193  newTau->setProtoPi0PFOLinks( oldTau->cellBased_Pi0_PFOLinks() );
194  }
195 
196  }
197 
198  return;
199 }
200 
206  MsgStream& log ) const {
207 
208  log << MSG::ERROR
209  << "Somebody called xAODTauJetAuxContainerCnv_v1::transToPers"
210  << endmsg;
211  throw std::runtime_error( "Somebody called xAODTauJetAuxContainerCnv_v1::"
212  "transToPers" );
213 
214  return;
215 }
216 
xAOD::TauJetParameters::cellBasedEnergyRing4
@ cellBasedEnergyRing4
Ring 4: 0.10 < R < 0.125.
Definition: TauDefs.h:252
xAOD::TauJetParameters::trkRmsDist
@ trkRmsDist
Get the RMS of track distance to calorimeter seed.
Definition: TauDefs.h:216
xAOD::TauJetParameters::PanTau_DecayMode
@ PanTau_DecayMode
Definition: TauDefs.h:360
xAOD::TauJetParameters::PanTau_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts
@ PanTau_BDTVar_Neutral_Ratio_1stBDTEtOverEtAllConsts
Definition: TauDefs.h:372
xAOD::TauJetParameters::PanTau_BDTVar_Combined_DeltaR1stNeutralTo1stCharged
@ PanTau_BDTVar_Combined_DeltaR1stNeutralTo1stCharged
Definition: TauDefs.h:375
xAOD::TauJetParameters::trkWidth2
@ trkWidth2
Definition: TauDefs.h:162
xAODTauJetAuxContainerCnv_v1::persToTrans
virtual void persToTrans(const xAOD::TauJetAuxContainer_v1 *oldObj, xAOD::TauJetAuxContainer *newObj, MsgStream &log) const override
Function converting from the old type to the current one.
Definition: xAODTauJetAuxContainerCnv_v1.cxx:25
xAOD::TauJetParameters::topoInvMass
@ topoInvMass
get invariant mass from topoclusters of jet associated to tau candidate
Definition: TauDefs.h:177
xAOD::TauJetAuxContainer_v3
Temporary container used until we have I/O for AuxStoreInternal.
Definition: TauJetAuxContainer_v3.h:39
xAOD::TauJetParameters::cellBasedEnergyRing7
@ cellBasedEnergyRing7
Ring 7: 0.2 < R < 0.4.
Definition: TauDefs.h:258
xAOD::TauJetParameters::hadLeakEt
@ hadLeakEt
Definition: TauDefs.h:232
xAOD::TauJetParameters::PanTauCellBasedProto
@ PanTauCellBasedProto
Definition: TauDefs.h:343
xAOD::TauJet_v3::setProtoNeutralPFOLinks
void setProtoNeutralPFOLinks(const PFOLinks_t &protoNeutralPFOs)
xAOD::TauJetParameters::IntermediateAxis
@ IntermediateAxis
Definition: TauDefs.h:338
xAOD::TauJetParameters::trFlightPathSig
@ trFlightPathSig
Definition: TauDefs.h:163
xAOD::TauJetAuxContainer_v1
Temporary container used until we have I/O for AuxStoreInternal.
Definition: TauJetAuxContainer_v1.h:39
xAOD::TauJetParameters::lead2ClusterEOverAllClusterE
@ lead2ClusterEOverAllClusterE
Get sum of 2 leading cluster energy over all cluster energy.
Definition: TauDefs.h:218
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
xAOD::TauJetParameters::nCharged
@ nCharged
Definition: TauDefs.h:266
xAOD::TauJet_v3::setJetLink
void setJetLink(const JetLink_t &jetLink)
xAOD::TauJet_v3::setPanTauDetail
void setPanTauDetail(TauJetParameters::PanTauDetails panTauDetail, int value)
Definition: TauJet_v3.cxx:367
xAOD::TauJetParameters::PanTau_BDTValue_3p0n_vs_3pXn
@ PanTau_BDTValue_3p0n_vs_3pXn
Definition: TauDefs.h:364
xAOD::TauJet_v3::setCharge
void setCharge(float)
xAOD::TauJet_v3::setProtoPi0PFOLinks
void setProtoPi0PFOLinks(const PFOLinks_t &protoPi0PFOs)
xAOD::TauJet_v3::setNeutralPFOLinks
void setNeutralPFOLinks(const PFOLinks_t &neutralPFOs)
xAOD::TauJetParameters::TauEtaCalib
@ TauEtaCalib
Definition: TauDefs.h:340
xAOD::TauJetParameters::secMaxStripEt
@ secMaxStripEt
migrate only seedTrk_ variables which are used in reco and ID and without prefix
Definition: TauDefs.h:230
xAOD::TauJetParameters::lead3ClusterEOverAllClusterE
@ lead3ClusterEOverAllClusterE
Get sum of 3 leading cluster energy over all cluster energy.
Definition: TauDefs.h:220
xAOD::TauJetParameters::JetBDTSigMedium
@ JetBDTSigMedium
Definition: TauDefs.h:137
xAOD::TauJetParameters::EleBDTLoose
@ EleBDTLoose
Definition: TauDefs.h:139
xAOD::TauJetParameters::cellBasedEnergyRing1
@ cellBasedEnergyRing1
EM+TES final scale.
Definition: TauDefs.h:246
xAOD::TauJetParameters::EleBDTMedium
@ EleBDTMedium
Definition: TauDefs.h:140
xAOD::TauJetParameters::cellBasedEnergyRing6
@ cellBasedEnergyRing6
Ring 6: 0.15 < R < 0.2.
Definition: TauDefs.h:256
xAOD::AuxContainerBase::resize
virtual bool resize(size_t size) override
Resize the arrays to a given size.
Definition: AuxContainerBase.cxx:507
xAOD::TauJet_v3::setIsTau
void setIsTau(TauJetParameters::IsTauFlag flag, bool value)
Set Flag for tau acceptance based on predefined arbitrary criteria.
Definition: TauJet_v3.cxx:252
xAOD::TauJetParameters::hadRadius
@ hadRadius
Get hadron calorimeter radius.
Definition: TauDefs.h:192
xAOD::TauJet_v3::setP4
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
Definition: TauJet_v3.cxx:171
xAOD::TauJetParameters::ipSigLeadTrk
@ ipSigLeadTrk
Definition: TauDefs.h:160
xAOD::TauJetParameters::JetSeed
@ JetSeed
Definition: TauDefs.h:336
xAOD::TauJet_v1
Class describing a tau jet.
Definition: TauJet_v1.h:38
xAOD::TauJetParameters::stripWidth2
@ stripWidth2
Get strip width ^2.
Definition: TauDefs.h:202
xAOD::TauJetParameters::centFrac
@ centFrac
Get centrality fraction.
Definition: TauDefs.h:200
xAOD::TauJetParameters::dRmax
@ dRmax
Get maximal dR of tracks associated to calo-seeded tau.
Definition: TauDefs.h:226
xAOD::TauJetParameters::JetBDTSigLoose
@ JetBDTSigLoose
Definition: TauDefs.h:136
xAOD::AuxContainerBase::size
virtual size_t size() const override
Get the size of the container.
Definition: AuxContainerBase.cxx:432
xAOD::TauJetParameters::etHadAtEMScale
@ etHadAtEMScale
Get Hadronic energy at EM scale.
Definition: TauDefs.h:196
xAOD::TauJetParameters::PanTau_BDTValue_1p1n_vs_1pXn
@ PanTau_BDTValue_1p1n_vs_1pXn
Definition: TauDefs.h:363
xAOD::TauJetParameters::topoMeanDeltaR
@ topoMeanDeltaR
get mean distance to leading topocluster for topoclusters of jet associated to tau candidate
Definition: TauDefs.h:181
xAOD::TauJetParameters::effTopoMeanDeltaR
@ effTopoMeanDeltaR
get mean distance to leading topocluster for effective topoclusters of jet associated to tau candidat...
Definition: TauDefs.h:183
lumiFormat.i
int i
Definition: lumiFormat.py:85
xAOD::TauJetParameters::caloIso
@ caloIso
Get sum of transvers energy of clusters around jet seed within 0.2 < dR < 0.4
Definition: TauDefs.h:222
xAOD::TauJetParameters::centFracCorrected
@ centFracCorrected
Definition: TauDefs.h:285
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
xAOD::TauJetParameters::cellBasedEnergyRing2
@ cellBasedEnergyRing2
Ring 2: 0.05 < R < 0.075.
Definition: TauDefs.h:248
xAOD::TauJet_v3::setSecondaryVertexLink
void setSecondaryVertexLink(const VertexLink_t &vertexLink)
xAOD::TauJetParameters::trkAvgDist
@ trkAvgDist
Get calibrated EM transverse energy (DEPRECATED since r19)
Definition: TauDefs.h:214
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
xAOD::TauJet_v3::setShotPFOLinks
void setShotPFOLinks(const PFOLinks_t &shotPFOs)
xAOD::TauJet_v3::setTrackFilterProngs
void setTrackFilterProngs(int)
xAOD::TauJetParameters::TESCalibConstant
@ TESCalibConstant
Definition: TauDefs.h:283
xAOD::TauJet_v3::setTrackFilterQuality
void setTrackFilterQuality(int)
xAOD::TauJetParameters::etOverPtLeadTrk
@ etOverPtLeadTrk
Definition: TauDefs.h:158
xAOD::TauJetParameters::caloIsoCorrected
@ caloIsoCorrected
Get sum of transvers energy of clusters around jet seed within 0.2 < dR < 0.4 (pile up corrected)
Definition: TauDefs.h:224
xAOD::TauJetParameters::PanTau_BDTValue_1p0n_vs_1p1n
@ PanTau_BDTValue_1p0n_vs_1p1n
Definition: TauDefs.h:362
xAOD::TauJetParameters::PanTauCellBased
@ PanTauCellBased
Definition: TauDefs.h:344
xAOD::TauJet
TauJet_v3 TauJet
Definition of the current "tau version".
Definition: Event/xAOD/xAODTau/xAODTau/TauJet.h:17
xAOD::TauJetParameters::SumPtTrkFracCorrected
@ SumPtTrkFracCorrected
Definition: TauDefs.h:290
TauJetContainer.h
xAOD::TauJetParameters::etOverPtLeadTrkCorrected
@ etOverPtLeadTrkCorrected
Definition: TauDefs.h:286
xAOD::TauJetParameters::numTopoClusters
@ numTopoClusters
get number of topocluster constituents of jet associated to tau candidate
Definition: TauDefs.h:173
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
xAOD::TauJetParameters::EleBDTTight
@ EleBDTTight
Definition: TauDefs.h:141
xAOD::TauJetParameters::cellBasedEnergyRing5
@ cellBasedEnergyRing5
Ring 5: 0.125 < R < 0.15.
Definition: TauDefs.h:254
xAODTauJetAuxContainerCnv_v1::transToPers
virtual void transToPers(const xAOD::TauJetAuxContainer *, xAOD::TauJetAuxContainer_v1 *, MsgStream &log) const override
Dummy function inherited from the base class.
Definition: xAODTauJetAuxContainerCnv_v1.cxx:204
xAOD::TauJetParameters::massTrkSys
@ massTrkSys
Definition: TauDefs.h:161
xAOD::TauJetParameters::TauEnergyScale
@ TauEnergyScale
Definition: TauDefs.h:339
xAOD::TauJetParameters::JetBDTSigTight
@ JetBDTSigTight
Definition: TauDefs.h:138
xAOD::TauJetParameters::PanTau_BDTVar_Neutral_PID_BDTValues_BDTSort_2
@ PanTau_BDTVar_Neutral_PID_BDTValues_BDTSort_2
Definition: TauDefs.h:371
xAOD::TauJet_v3::setProtoChargedPFOLinks
void setProtoChargedPFOLinks(const PFOLinks_t &protoChargedPFOs)
xAOD::TauJetParameters::BDTJetScore
@ BDTJetScore
Boosted Decision Tree socre for Jet rejection (not transformed)
Definition: TauDefs.h:78
DataVector::push_back
value_type push_back(value_type pElem)
Add an element to the end of the collection.
xAOD::TauJetParameters::TauJetVtxFraction
@ TauJetVtxFraction
@Tau Jet Vertex Fraction
Definition: TauDefs.h:262
xAOD::TauJetParameters::nStrip
@ nStrip
Get number of strips.
Definition: TauDefs.h:204
xAOD::TauJetParameters::TRT_NHT_OVER_NLT
@ TRT_NHT_OVER_NLT
TRT hits high threshold over low threshold.
Definition: TauDefs.h:260
xAOD::TauJet_v3::setChargedPFOLinks
void setChargedPFOLinks(const PFOLinks_t &chargedPFOs)
xAOD::TauJetParameters::cellBasedEnergyRing3
@ cellBasedEnergyRing3
Ring 3: 0.075 < R < 0.10.
Definition: TauDefs.h:250
xAOD::TauJetParameters::numEffTopoClusters
@ numEffTopoClusters
get number of effective topocluster constituents of jet associated to tau candidate !...
Definition: TauDefs.h:175
xAOD::TauJet_v3::setPi0ConeDR
void setPi0ConeDR(float)
xAOD::TauJetParameters::PanTau_DecayModeProto
@ PanTau_DecayModeProto
Definition: TauDefs.h:359
xAOD::TauJetParameters::BDTEleScore
@ BDTEleScore
Boosted Decision Tree score for electron rejection.
Definition: TauDefs.h:80
xAOD::TauJet_v3::setPi0PFOLinks
void setPi0PFOLinks(const PFOLinks_t &pi0PFOs)
xAODTauJetAuxContainerCnv_v1.h
xAOD::TauJetParameters::MuonVeto
@ MuonVeto
Definition: TauDefs.h:121
xAODTauJetAuxContainerCnv_v1::xAODTauJetAuxContainerCnv_v1
xAODTauJetAuxContainerCnv_v1()
Default constructor.
Definition: xAODTauJetAuxContainerCnv_v1.cxx:20
xAOD::TauJetParameters::ipZ0SinThetaSigLeadTrk
@ ipZ0SinThetaSigLeadTrk
Definition: TauDefs.h:157
xAOD::TauJetParameters::numCells
@ numCells
Definition: TauDefs.h:171
xAOD::TauJetParameters::innerTrkAvgDist
@ innerTrkAvgDist
Definition: TauDefs.h:287
xAOD::TauJet_v3::setROIWord
void setROIWord(unsigned int)
xAOD::TauJet_v3::setVertexLink
void setVertexLink(const VertexLink_t &vertexLink)
xAOD::TauJetParameters::TESOffset
@ TESOffset
Definition: TauDefs.h:282
xAOD::TauJetParameters::PanTau_BDTVar_Charged_StdDev_Et_WrtEtAllConsts
@ PanTau_BDTVar_Charged_StdDev_Et_WrtEtAllConsts
Definition: TauDefs.h:368
xAOD::TauJetParameters::ChPiEMEOverCaloEME
@ ChPiEMEOverCaloEME
Definition: TauDefs.h:278
xAOD::TauJetParameters::sumEMCellEtOverLeadTrkPt
@ sumEMCellEtOverLeadTrkPt
Definition: TauDefs.h:231
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
xAOD::TauJetParameters::effTopoInvMass
@ effTopoInvMass
get invariant mass from effective topoclusters of jet associated to tau candidate
Definition: TauDefs.h:179
xAOD::TauJet_v3::setDetail
void setDetail(TauJetParameters::Detail detail, int value)
Definition: TauJet_v3.cxx:309
xAOD::TauJetParameters::innerTrkAvgDistCorrected
@ innerTrkAvgDistCorrected
Definition: TauDefs.h:288
xAOD::TauJetParameters::isolFrac
@ isolFrac
Get isolation fraction.
Definition: TauDefs.h:198
xAOD::TauJetParameters::PanTau_isPanTauCandidate
@ PanTau_isPanTauCandidate
Definition: TauDefs.h:357
SG::ConstAccessor< T, AuxAllocator_t< T > >::isAvailable
bool isAvailable(const ELT &e) const
Test to see if this variable exists in the store.
TauJetContainer_v1.h
xAOD::TauJetParameters::SumPtTrkFrac
@ SumPtTrkFrac
Definition: TauDefs.h:289
xAOD::TauJetParameters::DetectorAxis
@ DetectorAxis
Definition: TauDefs.h:337
xAOD::TauJetParameters::BDTJetScoreSigTrans
@ BDTJetScoreSigTrans
BDT score which is signal transformed/flattened.
Definition: TauDefs.h:84
xAOD::TauJetParameters::PSSFraction
@ PSSFraction
Definition: TauDefs.h:277
xAOD::TauJetParameters::EMRadius
@ EMRadius
Get E_T radius.
Definition: TauDefs.h:190
xAOD::TauJet_v3::setDiscriminant
void setDiscriminant(TauJetParameters::TauID discID, double disc)
Set value of discriminant.
Definition: TauJet_v3.cxx:237
xAOD::TauJetParameters::EMPOverTrkSysP
@ EMPOverTrkSysP
Definition: TauDefs.h:279
xAOD::TauJetParameters::PanTau_BDTVar_Neutral_Ratio_EtOverEtAllConsts
@ PanTau_BDTVar_Neutral_Ratio_EtOverEtAllConsts
Definition: TauDefs.h:373
xAOD::TauJetParameters::etEMAtEMScale
@ etEMAtEMScale
Get EM energy at EM scale.
Definition: TauDefs.h:194
xAOD::TauJetParameters::PanTau_BDTVar_Neutral_PID_BDTValues_BDTSort_1
@ PanTau_BDTVar_Neutral_PID_BDTValues_BDTSort_1
Definition: TauDefs.h:370
xAOD::TauJetParameters::leadTrkPt
@ leadTrkPt
Definition: TauDefs.h:159