List of variables added in the TauD3PD --------------------------------------- % N. Rompotis, 29 January 2014 % 27 February 2014 Explanation of the list: This has used the trunk version of svn+ssh://svn.cern.ch/reps/atlasoff/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/ revision 580577, checked out on Jan 29th It contains the list of all the TauD3PD specific variables that are added with 'CHECK( addVariable ("XXXXXX", m_XXXXXX) );' I have filtered out variables that are listed in these files: https://svnweb.cern.ch/trac/atlasoff/browser/Event/xAOD/xAODTau/trunk/xAODTau/versions/TauJet_v1.h Revision 584282 https://svnweb.cern.ch/trac/atlasoff/browser/Event/xAOD/xAODTau/trunk/xAODTau/TauDefs.h Revision 584243 https://svnweb.cern.ch/trac/atlasoff/browser/Event/xAOD/xAODTau/trunk/Root/TauJet_v1.cxx Revision 584282 * For the remaining variables I have appended a code snippet of their exact calculation in the TauD3PDMaker, or I have put a link to the code from svn that points to the calculation. * seedTrk_ variables have been omited (will become obsolete, is that right?) * variables that are commended out in TauJet_v1.h with the comment "awaiting decision on whether enum-based accessors are sufficient" are considered as present in the tau EDM. Quick svn link for reader's convenience: https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/src/ The list: =========================================================================================================== %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| numGoodVertices: Code: ........................................................................................................... TauD3PDMaker/src/EventCalcVarsFillerTool.cxx *m_numGoodVertices = m_detailsManager->getIntDetailValue(Details::NUM_PILEUP_AND_PRIMARY_VERTICES); line 70 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| nLooseTrk nLooseConvTrk nProngLoose Code: .......................................................................................................... TauD3PDMaker/src/TauCommonDetailsFillerTool.cxx *m_nLooseTrk = p_taudetails->nLooseTrk(); line 144 *m_nLooseConvTrk = p_taudetails->nLooseConvTrk(); line 145 *m_nProngLoose = p_taudetails->nProngLoose(); line 146 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| leadTrack_eta leadTrack_phi Code: .......................................................................................................... TauD3PDMaker/src/TauLeadTrackFillerTool.cxx line 52 int nTracks = p.numTrack(); float leadTrackEta = -1111; float leadTrackPhi = -1111; float maxPtFound = 0.0; if(nTracks > 0) for(int i = 0; i < nTracks; ++i) { const Rec::TrackParticle *track = p.track(i); float leadTrackPt = track->pt(); if(leadTrackPt > maxPtFound) { leadTrackEta = track->eta(); leadTrackPhi = track->phi(); maxPtFound = leadTrackPt; } } *m_leadTrack_eta = leadTrackEta; *m_leadTrack_phi = leadTrackPhi; ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| exToCalo_eta exToCalo_phi Code: .......................................................................................................... https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/src/TrackCaloParamsFillerTool.cxx#L49 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| type origin outcome motherPDGID motherBarcode Code: .......................................................................................................... TauD3PDMaker/src/TruthEgammaFillerTool.h line 41 const HepMC::GenParticle *gp = p.genParticle(); if(gp) { std::pair Classify=m_classifier->particleTruthClassifier( gp ); *m_type = Classify.first; *m_origin = Classify.second; *m_outcome = (int)( m_classifier->getParticleOutCome() ); *m_motherPDG = m_classifier->getMotherPDG(); *m_motherBarcode = m_classifier->getMotherBarcode(); } else { ATH_MSG_WARNING("TruthEgammaFillerTool: TruthParticle has no GenParticle"); *m_type = -1111; *m_origin = -1111; *m_outcome = -1111; *m_motherPDG = -1111; *m_motherBarcode = -1111; } ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| vis_m vis_Et vis_eta vis_phi nPi0 charge Code: ......................................................................................................... These are truth level information. TauD3PDMaker/src/TruthTauFillerTool.cxx https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/src/TruthTauFillerTool.cxx#L68 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| pantau_eflowRec_RecoModeeflowRec pantau_eflowRec_RecoModePanTau pantau_eflowRec_final_pt pantau_eflowRec_final_eta pantau_eflowRec_final_phi pantau_eflowRec_final_m pantau_eflowRec_ChargedEFOs_pt pantau_eflowRec_ChargedEFOs_eta pantau_eflowRec_ChargedEFOs_phi pantau_eflowRec_ChargedEFOs_m pantau_eflowRec_NeutralEFOs_pt pantau_eflowRec_NeutralEFOs_eta pantau_eflowRec_NeutralEFOs_phi pantau_eflowRec_NeutralEFOs_m pantau_eflowRec_Pi0NeutEFOs_pt pantau_eflowRec_Pi0NeutEFOs_eta pantau_eflowRec_Pi0NeutEFOs_phi pantau_eflowRec_Pi0NeutEFOs_m pantau_CellBased_RecoModeCellBased pantau_CellBased_RecoModePanTau pantau_CellBased_final_pt pantau_CellBased_final_eta pantau_CellBased_final_phi pantau_CellBased_final_m pantau_CellBased_ChargedEFOs_pt pantau_CellBased_ChargedEFOs_eta pantau_CellBased_ChargedEFOs_phi pantau_CellBased_ChargedEFOs_m pantau_CellBased_NeutralEFOs_pt pantau_CellBased_NeutralEFOs_eta pantau_CellBased_NeutralEFOs_phi pantau_CellBased_NeutralEFOs_m pantau_CellBased_Pi0NeutEFOs_pt pantau_CellBased_Pi0NeutEFOs_eta pantau_CellBased_Pi0NeutEFOs_phi pantau_CellBased_Pi0NeutEFOs_m Code: ......................................................................................................... This is a list of pantau variables. Shouldn't they be in the PanTauDetails of TauDefs.h ??? I couldn't match them and I link the code that is used: https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/src/TauPanTauDetailsFillerTool.cxx#L118 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| calcVars_etHad_EMScale_Pt3Trks calcVars_etEM_EMScale_Pt3Trks calcVars_drMin calcVars_calRadius calcVars_EMFractionAtEMScale calcVars_trackIso calcVars_ChPiEMEOverCaloEME calcVars_PSSFraction calcVars_EMPOverTrkSysP calcVars_pi0BDTPrimaryScore calcVars_pi0BDTSecondaryScore calcVars_corrCentFrac calcVars_corrFTrk calcVars_interAxis_eta calcVars_interAxis_phi calcVars_absDeltaEta calcVars_absDeltaPhi calcVars_EMFractionAtEMScale_MoveE3 calcVars_SecMaxStripEtOverPt pi0_cl1_pt pi0_cl1_eta pi0_cl1_phi pi0_cl2_pt pi0_cl2_eta pi0_cl2_phi pi0_vistau_pt pi0_vistau_eta pi0_vistau_phi pi0_vistau_m pi0_n out_track_n out_track_n_extended Code: .......................................................................................................... This set of variables is supposed to be part of the new EDM, but I couldn't identify them. According to the TauCalcVarsFillerTool.cxx they should be omitted For calculation details, see: https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/src/TauCalcVarsFillerTool.cxx#L135 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| cell_E cell_eta cell_phi cell_eta_atTJVA cell_phi_atTJVA cell_n cell_nEffCells cell_nEffStripCells cell_samplingID Code: .......................................................................................................... trunk/src/TauCellsDetailsFillerTool.cxx https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/src/TauCellsDetailsFillerTool.cxx#L68 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| calcVars_EMRadEMScale calcVars_centfracEMScale calcVars_isofracEMScale calcVars_trkAvgDistEMScale Code: .......................................................................................................... trunk/src/TauRadiusFillerTool.cxx https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/src/TauRadiusFillerTool.cxx#L66 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| cluster_E cluster_eta cluster_phi cluster_eta_atTJVA cluster_phi_atTJVA cluster_PreSamplerStripF cluster_EMLayer2F cluster_EMLayer3F cluster_n Code: .......................................................................................................... TauD3PDMaker/src/TauCellsDetailsFillerTool.cxx This is a relatively long piece of code starting from here: https://svnweb.cern.ch/trac/atlasoff/browser/PhysicsAnalysis/D3PDMaker/TauD3PDMaker/trunk/src/TauCellsDetailsFillerTool.cxx#L68 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| Pi0Cluster_pt Pi0Cluster_eta Pi0Cluster_phi Code: .......................................................................................................... This is from: TauD3PDMaker/src/TauSumPi0FillerTool.cxx for(int i=0; i < (int)p_taudetails->nPi0(); i++) { m_pt->push_back(p_taudetails->pi0(i)->pt()); m_eta->push_back(p_taudetails->pi0(i)->eta()); m_phi->push_back(p_taudetails->pi0(i)->phi()); } ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| privtx_x privtx_y privtx_z privtx_xx privtx_yy privtx_zz privtx_xy privtx_yz privtx_zx privtx_chiSquared privtx_numberDoF privtx_jvf Code: ......................................................................................................... This is from: TauD3PDMaker/src/TauPriVtxFillerTool.cxx const Trk::RecVertex* myVtx = p.origin(); if (myVtx!=0) { const Amg::Vector3D& pos = myVtx->position(); const AmgSymMatrix(3)& cov = myVtx->covariancePosition(); *m_vtx_x = pos.x(); *m_vtx_y = pos.y(); *m_vtx_z = pos.z(); *m_vtx_xx = cov(Trk::x, Trk::x); *m_vtx_yy = cov(Trk::y, Trk::y); *m_vtx_zz = cov(Trk::z, Trk::z); *m_vtx_xy = cov(Trk::x, Trk::y); *m_vtx_yz = cov(Trk::y, Trk::z); *m_vtx_zx = cov(Trk::z, Trk::x); const Trk::FitQuality& fq = myVtx->fitQuality(); *m_vtx_chiSquared = fq.chiSquared(); *m_vtx_numberDoF = fq.numberDoF(); // *m_vtx_jvf = m_tauPVTool->getTJVF(&p); } ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| secvtx_x secvtx_y secvtx_z secvtx_xx secvtx_yy secvtx_zz secvtx_xy secvtx_yz secvtx_zx secvtx_chiSquared secvtx_numberDoF Code: ......................................................................................................... This is from: TauD3PDMaker/src/TauCellsDetailsFillerTool.cxx const Trk::RecVertex* myVtx = p_taudetails->secVtx(); if (myVtx!=0){ const Amg::Vector3D& pos = myVtx->position(); const AmgSymMatrix(3)& cov = myVtx->covariancePosition(); *m_vtx_x = pos.x(); *m_vtx_y = pos.y(); *m_vtx_z = pos.z(); *m_vtx_xx = cov(Trk::x, Trk::x); *m_vtx_yy = cov(Trk::y, Trk::y); *m_vtx_zz = cov(Trk::z, Trk::z); *m_vtx_xy = cov(Trk::x, Trk::y); *m_vtx_yz = cov(Trk::y, Trk::z); *m_vtx_zx = cov(Trk::z, Trk::x); const Trk::FitQuality& fq = myVtx->fitQuality(); *m_vtx_chiSquared = fq.chiSquared(); *m_vtx_numberDoF = fq.numberDoF(); } ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| phi d0 z0 theta qoverp phi_err d0_err z0_err theta_err qoverp_err cov_phi_d0 cov_phi_z0 cov_phi_theta cov_phi_qoverp cov_d0_z0 cov_d0_theta cov_d0_qoverp cov_z0_theta cov_z0_qoverp cov_theta_qoverp n Code: .......................................................................................................... These are from TauD3PDMaker/src/TrackParticleAtTJVAFillerTool.cxx n is m_trk_atTJVA_n for (; tauItr != tauItrE; ++tauItr) { if ((*tauItr)->origin() /*&& (*tauItr)->origin()->position()*/) { const Trk::Perigee* perigee = m_trackToVertexTool->perigeeAtVertex(p, (*tauItr)->origin()->position()); m_trk_atTJVA_phi->push_back(perigee->parameters()[Trk::phi0]); m_trk_atTJVA_d0->push_back(perigee->parameters()[Trk::d0]); m_trk_atTJVA_z0->push_back(perigee->parameters()[Trk::z0]); m_trk_atTJVA_theta->push_back(perigee->parameters()[Trk::theta]); m_trk_atTJVA_qoverp->push_back(perigee->parameters()[Trk::qOverP]); const Trk::Perigee* mperigee = m_trackToVertexTool->perigeeAtVertex(p, (*tauItr)->origin()->position()); const AmgSymMatrix(5)& cov = *mperigee->covariance(); m_trk_atTJVA_phi_err->push_back (Amg::error (cov,Trk::phi0)); m_trk_atTJVA_d0_err->push_back (Amg::error (cov,Trk::d0)); m_trk_atTJVA_z0_err->push_back (Amg::error (cov,Trk::z0)); m_trk_atTJVA_theta_err->push_back (Amg::error (cov,Trk::theta)); m_trk_atTJVA_qoverp_err->push_back(Amg::error (cov,Trk::qOverP)); m_trk_atTJVA_cov_phi_d0->push_back (cov(Trk::phi0,Trk::d0)); m_trk_atTJVA_cov_phi_z0->push_back (cov(Trk::phi0,Trk::z0)); m_trk_atTJVA_cov_phi_theta->push_back (cov(Trk::phi0,Trk::theta)); m_trk_atTJVA_cov_phi_qoverp->push_back(cov(Trk::phi0,Trk::qOverP)); m_trk_atTJVA_cov_d0_z0->push_back (cov(Trk::d0,Trk::z0)); m_trk_atTJVA_cov_d0_theta->push_back (cov(Trk::d0,Trk::theta)); m_trk_atTJVA_cov_d0_qoverp->push_back (cov(Trk::d0,Trk::qOverP)); m_trk_atTJVA_cov_z0_theta->push_back (cov(Trk::z0,Trk::theta)); m_trk_atTJVA_cov_z0_qoverp->push_back (cov(Trk::z0,Trk::qOverP)); m_trk_atTJVA_cov_theta_qoverp->push_back(cov(Trk::theta,Trk::qOverP)); delete perigee; delete mperigee; } else { m_trk_atTJVA_phi->push_back(-1111.); m_trk_atTJVA_d0->push_back(-1111.); m_trk_atTJVA_z0->push_back(-1111.); m_trk_atTJVA_theta->push_back(-1111.); m_trk_atTJVA_qoverp->push_back(-1111.); m_trk_atTJVA_phi_err->push_back(-1111.); m_trk_atTJVA_d0_err->push_back(-1111.); m_trk_atTJVA_z0_err->push_back(-1111.); m_trk_atTJVA_theta_err->push_back(-1111.); m_trk_atTJVA_qoverp_err->push_back(-1111.); m_trk_atTJVA_cov_phi_d0->push_back(-1111.); m_trk_atTJVA_cov_phi_z0->push_back(-1111.); m_trk_atTJVA_cov_phi_theta->push_back(-1111.); m_trk_atTJVA_cov_phi_qoverp->push_back(-1111.); m_trk_atTJVA_cov_d0_z0->push_back(-1111.); m_trk_atTJVA_cov_d0_theta->push_back(-1111.); m_trk_atTJVA_cov_d0_qoverp->push_back(-1111.); m_trk_atTJVA_cov_z0_theta->push_back(-1111.); m_trk_atTJVA_cov_z0_qoverp->push_back(-1111.); m_trk_atTJVA_cov_theta_qoverp->push_back(-1111.); } ++nTaus; } *m_trk_atTJVA_n = nTaus; ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| DecayType ResonancePdgId nPhotonConversions nChargedProducts nNeutralProducts Code: ............................................ DecayType is m_TauTruthType *m_TauTruthType = m_tauClassUtil.getTruthTauType(*truthTau, msg()); *m_resonancePdgId = truthTau->resonancePdgId(); *m_nPhotonConversions = truthTau->nPhotonConversions(); *m_nChargedProducts = truthTau->chargedProducts().size(); *m_nNeutralProducts = truthTau->neutralProducts().size(); ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| List of some pi0 variables ----------------------------------------------------------------------------------------------------------------- ChargedEt NeutralEt VisibleEt Pi0_1st_E Pi0_1st_Eta Pi0_1st_Phi Pi0_1st_Pt Pi0_2nd_E Pi0_2nd_Eta Pi0_2nd_Phi Pi0_2nd_Pt Pi0_3rd_E Pi0_3rd_Eta Pi0_3rd_Phi Pi0_3rd_Pt Code: ............................................ These are from TauD3PDMaker/src/TruthTauDPDFillerTool.cxx double chargedET = 0.0; double neutralET = 0.0; double visibleET = 0.0; const std::vector chargedProducts = truthTau->chargedProducts(); const std::vector neutralProducts = truthTau->neutralProducts(); std::vector::const_iterator firstCharged = chargedProducts.begin(); std::vector::const_iterator lastCharged = chargedProducts.end(); for (; firstCharged != lastCharged; ++firstCharged) { visibleET += (*firstCharged)->et(); chargedET += (*firstCharged)->et(); } //list to hold the 4 momenta of the neutral pions std::vector pionsMomenta = std::vector(0); std::vector::const_iterator firstNeutral = neutralProducts.begin(); std::vector::const_iterator lastNeutral = neutralProducts.end(); for (; firstNeutral != lastNeutral; ++firstNeutral) { visibleET += (*firstNeutral)->et(); neutralET += (*firstNeutral)->et(); if((*firstNeutral)->pdgId() == 111) { pionsMomenta.push_back( CLHEP::HepLorentzVector( (*firstNeutral)->px(), (*firstNeutral)->py(), (*firstNeutral)->pz(), (*firstNeutral)->e() ) ); } } *m_VisEt = visibleET; *m_ChargedEt = chargedET; *m_NeutralEt = neutralET; //sort and fill the neutral pions std::sort( pionsMomenta.begin(), pionsMomenta.end(), sortPionsByEt ); if(pionsMomenta.size() >= 1) { *m_Pi0_1st_E = pionsMomenta[0].et(); *m_Pi0_1st_Eta = pionsMomenta[0].eta(); *m_Pi0_1st_Phi = pionsMomenta[0].phi(); *m_Pi0_1st_Pt = pionsMomenta[0].perp(); } if(pionsMomenta.size() >= 2) { *m_Pi0_2nd_E = pionsMomenta[1].et(); *m_Pi0_2nd_Eta = pionsMomenta[1].eta(); *m_Pi0_2nd_Phi = pionsMomenta[1].phi(); *m_Pi0_2nd_Pt = pionsMomenta[1].perp(); } if(pionsMomenta.size() >= 3) { *m_Pi0_3rd_E = pionsMomenta[2].et(); *m_Pi0_3rd_Eta = pionsMomenta[2].eta(); *m_Pi0_3rd_Phi = pionsMomenta[2].phi(); *m_Pi0_3rd_Pt = pionsMomenta[2].perp(); } ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%