7 #include "TLorentzVector.h"
16 ISvcLocator* pSvcLocator):
18 m_trackClassificationTool(
"InDet::InDetTrkInJetType",this),
19 m_decoratorMethod(
"decorateTrack"),
62 return StatusCode::SUCCESS;
67 return StatusCode::SUCCESS;
73 return StatusCode::SUCCESS;
92 return StatusCode::SUCCESS; }
93 ATH_MSG_DEBUG(
"TrackParticleContainer successfully retrieved" );
98 return StatusCode::SUCCESS; }
99 ATH_MSG_DEBUG(
"Primary Vertices container successfully retrieved" );
108 return StatusCode::SUCCESS; }
109 ATH_MSG_DEBUG(
"AntiKt4EMPflow jet container successfully retrieved" );
121 for(trackItr = trackTES->
begin(); trackItr != trackItrE; ++trackItr){
127 for(jetItr = jetTES->
begin(); jetItr != jetItrE; ++jetItr){
129 float curDeltaR = (itrk)->p4().DeltaR(curJet->
p4());
130 if(curDeltaR < minDeltaR) {minDeltaR = curDeltaR; closestJet = curJet;}
136 for(trackItr = trackTES->
begin(); trackItr != trackItrE; ++trackItr){
138 std::vector<float> v_tctScoresDeco = trackReadDecorHandleTCTScore(*itrk);
141 ATH_MSG_DEBUG(
"TCT score from decoration: " << v_tctScoresDeco.at(0) <<
", " << v_tctScoresDeco.at(1) <<
", "<< v_tctScoresDeco.at(2));
143 ATH_MSG_DEBUG(
"Calculated TCT score: " << v_tctScore.at(0) <<
", " << v_tctScore.at(1) <<
", " << v_tctScore.at(2));
145 for(
int j=0; j<=2 ; j++) {assert(
Athena_test::isEqual(v_tctScore.at(j),v_tctScoresDeco.at(j)));}
152 for(jetItr = jetTES->
begin(); jetItr != jetItrE; ++jetItr){
154 std::vector<const xAOD::TrackParticle*> trkparticles(0);
155 for(trackItr = trackTES->
begin(); trackItr != trackItrE; ++trackItr){
157 if((itrk)->p4().
DeltaR(ijet->
p4()) < 0.4) {trkparticles.push_back(itrk); }
163 for(jetItr = jetTES->
begin(); jetItr != jetItrE; ++jetItr){
165 std::vector<std::vector<float>> v_tctScoresDeco = jetReadDecorHandleTCTScore(*ijet);
166 std::vector<ElementLink<xAOD::TrackParticleContainer>> v_trackLinks = jetReadDecorHandleTrackLink(*ijet);
168 for(
unsigned int i=0;
i<v_tctScoresDeco.size();
i++)
170 ATH_MSG_DEBUG(
"TCT score from decoration: " << v_tctScoresDeco.at(
i).at(0) <<
", " << v_tctScoresDeco.at(
i).at(1) <<
", "<< v_tctScoresDeco.at(
i).at(2));
172 ATH_MSG_DEBUG(
"Calculated TCT score: " << v_tctScore.at(0) <<
", " << v_tctScore.at(1) <<
", " << v_tctScore.at(2));
174 for(
int j=0; j<=2 ; j++) {assert(
Athena_test::isEqual(v_tctScore.at(j),v_tctScoresDeco.at(
i).at(j)));}
184 return StatusCode::SUCCESS;