23 if ( info.previousDecisionIDs.count(
m_decisionId.numeric() ) == 0 ) {
25 return StatusCode::SUCCESS;
32 std::vector<float> monvec_trk_d0sig;
33 std::vector<float> monvec_trk_z0st;
34 std::vector<float> monvec_trk_d0;
43 int ndisp = info.counts->getDetail<
int>(
"ndisp_"+
m_cutname);
44 int nother = info.counts->getDetail<
int>(
"nother_"+
m_cutname);
45 int nprompt = info.counts->getDetail<
int>(
"nprompt_"+
m_cutname);
48 for(
auto trk: *(info.lrt_tracks)){
50 unsigned int track_class = 0;
52 monvec_trk_d0.push_back(std::abs(trk->d0()));
54 if(std::abs(trk->d0()) <
m_d0cut){
55 double dz0 = trk->z0() + trk->vz() - info.primary_vertex->z();
56 double dz0st = std::abs(std::sin(trk->theta()) * dz0);
58 monvec_trk_z0st.push_back(dz0st);
72 monvec_trk_d0sig.push_back(d0sig);
77 ATH_MSG_DEBUG(
"disp_trk in jet "<<info.jet->pt()/Gaudi::Units::GeV<<
" accepted pT: "<<trk->pt()/Gaudi::Units::GeV<<
" d0: "<<std::abs(trk->d0())<<
" d0sig: "<<d0sig);
79 ATH_MSG_DEBUG(
"disp_trk in jet "<<info.jet->pt()/Gaudi::Units::GeV<<
" dropped for d0sig pT: "<<trk->pt()/Gaudi::Units::GeV<<
" d0: "<<std::abs(trk->d0())<<
" d0sig: "<<d0sig);
85 }
else if(track_class == 2){
87 }
else if(track_class == 0){
91 double nother_frac = 0.0;
93 if((nother + ndisp + nprompt) > 0){
94 nother_frac = nother*1.0/(nother + ndisp + nprompt);
97 ANA_MSG_DEBUG(
"jet pT = "<<info.jet->pt()/Gaudi::Units::GeV<<
" nPrompt = "<<nprompt<<
" nDisp = "<<ndisp<<
" nother = "<<nother);
100 mon_nprompt = nprompt;
101 mon_frac_other = nother_frac;
108 mon_jetpt = info.jet->pt()/Gaudi::Units::GeV;
109 mon_jeteta = info.jet->eta();
114 return StatusCode::SUCCESS;