16 m_NameInputAlgorithm(
"InvalidAlg"),
20 m_ConstituentsList_Core(),
21 m_ConstituentsList_Wide(),
22 m_ConstituentsList_AllSelected(),
23 m_ConstituentsList_All(),
24 m_DecayMode_BySubAlg(0),
25 m_DecayMode_ByPanTau(0),
26 m_decayModeHack_CellBasedShots(false),
35 if(m_Features !=
nullptr)
delete m_Features;
38 for(
unsigned int iConst=0; iConst<m_ConstituentsList_All.size(); iConst++) {
40 if(curConst !=
nullptr)
delete curConst;
42 m_ConstituentsList_All.clear();
43 m_ConstituentsList_AllSelected.clear();
44 m_ConstituentsList_Core.clear();
45 m_ConstituentsList_Wide.clear();
49 for(
unsigned int iType=0; iType<m_Constituents.size(); iType++) {
50 std::vector<PanTau::TauConstituent*> curConsts = m_Constituents[iType];
53 m_Constituents.clear();
62 m_IsValidSeed(rhs.m_IsValidSeed),
63 m_TechnicalQuality(rhs.m_TechnicalQuality),
64 m_NameInputAlgorithm(rhs.m_NameInputAlgorithm),
65 m_TauJet(rhs.m_TauJet),
66 m_Constituents(rhs.m_Constituents),
67 m_TypeHLVs(rhs.m_TypeHLVs),
68 m_ConstituentsList_Core(rhs.m_ConstituentsList_Core),
69 m_ConstituentsList_Wide(rhs.m_ConstituentsList_Wide),
70 m_ConstituentsList_AllSelected(rhs.m_ConstituentsList_AllSelected),
71 m_ConstituentsList_All(rhs.m_ConstituentsList_All),
72 m_DecayMode_BySubAlg(rhs.m_DecayMode_BySubAlg),
73 m_DecayMode_ByPanTau(rhs.m_DecayMode_ByPanTau),
74 m_decayModeHack_CellBasedShots(rhs.m_decayModeHack_CellBasedShots),
85 if (!this->container() && !this->hasStore() ) {
88 this->IParticle::operator=( seed );
89 this->m_p4 = seed.m_p4;
90 m_IsValidSeed = seed.m_IsValidSeed;
91 m_TechnicalQuality = seed.m_TechnicalQuality;
92 m_NameInputAlgorithm = seed.m_NameInputAlgorithm;
93 m_TauJet = seed.m_TauJet;
94 m_Constituents = seed.m_Constituents;
95 m_TypeHLVs = seed.m_TypeHLVs;
96 m_ConstituentsList_Core = seed.m_ConstituentsList_Core;
97 m_ConstituentsList_Wide = seed.m_ConstituentsList_Wide;
98 m_ConstituentsList_AllSelected = seed.m_ConstituentsList_AllSelected;
99 m_ConstituentsList_All = seed.m_ConstituentsList_All;
100 m_decayModeHack_CellBasedShots = seed.m_decayModeHack_CellBasedShots;
102 if(m_Features)
delete m_Features;
138 return p4().Rapidity();
155 m_p4.SetPtEtaPhiM(
pt, eta, phi,
m);
162 m_p4.SetPtEtaPhiM(
pt, eta(), phi(),
m());
169 m_p4.SetPtEtaPhiM(
pt(), eta, phi(),
m());
176 m_p4.SetPtEtaPhiM(
pt(), eta(), phi,
m());
183 m_p4.SetPtEtaPhiM(
pt(), eta(), phi(),
m);
196 const std::vector<PanTau::TauConstituent*>& tauConstituents,
197 const std::vector<PanTau::TauConstituent*>& tauConstituentsAll,
198 const std::vector<int>& pantauSeed_TechnicalQuality
217 for(
unsigned int iConst=0; iConst<tauConstituents.size(); iConst++) {
236 TLorentzVector hlv_SumConstituents_Wide = TLorentzVector(0,0,0,0);
237 TLorentzVector hlv_SumConstituents_Core = TLorentzVector(0,0,0,0);
242 for(
unsigned int iConst=0; iConst<tauConstituents.size(); iConst++) {
246 for(
unsigned int curType=0; curType<curTypes.size(); curType++) {
247 if(curTypes.at(curType) == 0)
continue;
263 hlv_SumConstituents_Wide += curConst->
p4();
288 const std::vector<int>& pantauSeed_TechnicalQuality)
293 m_ConstituentsList_AllSelected(),
294 m_ConstituentsList_All(),
295 m_DecayMode_BySubAlg(0),
296 m_DecayMode_ByPanTau(0),
297 m_decayModeHack_CellBasedShots(false)
345 return "InvalidMode!!!";
353 if(m_TechnicalQuality[pantauSeed_TechnicalQuality] == 1)
return true;
361 return std::vector<TauConstituent*>(0);
365 return m_Constituents.at(tauConstituent_Type);
371 std::vector<PanTau::TauConstituent*> consts = this->getConstituentsOfType(tauConstituent_Type, isOK);
373 return (
int)consts.size();
385 return m_TypeHLVs.at(tauConstituent_Type);