ATLAS Offline Software
Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
BTagJetAugmenter Class Reference

#include <BTagJetAugmenter.h>

Collaboration diagram for BTagJetAugmenter:

Public Types

typedef FlavorTagDiscriminants::FlipTagConfig FlipTagConfig
 

Public Member Functions

 BTagJetAugmenter (const std::string &associator="BTagTrackToJetAssociator", FlipTagConfig flip=FlipTagConfig::STANDARD, bool useIpxd=false)
 
 ~BTagJetAugmenter ()=default
 
 BTagJetAugmenter (BTagJetAugmenter &&)
 
void augmentJfDr (const xAOD::BTagging &btag) const
 
void augmentIpRatios (const xAOD::BTagging &btag) const
 
void augmentBtagJes (const xAOD::BTagging &target, const xAOD::BTagging &uncalib) const
 
void augmentBtagJes (const xAOD::Jet &target, const xAOD::Jet &uncalib) const
 
void augment (const xAOD::BTagging &btag) const
 
void augment (const xAOD::BTagging &btag, const xAOD::BTagging &uncalibrated_btag) const
 
std::set< std::string > getDecoratorKeys () const
 
std::set< std::string > getAuxInputKeys () const
 

Private Types

typedef SG::AuxElement AE
 

Private Member Functions

bool jfIsDefaults (const xAOD::BTagging &btag) const
 
double getDmesonMass (int secondaryVtx_track_number, float secondaryVtx_charge, std::vector< TLorentzVector > secondaryVtx_4momentum_vector, std::vector< float > secondaryVtx_charge_vector, const float track_mass, const float track_kaon) const
 
float safelog_prob (float p_up, float p_down) const
 

Private Attributes

AE::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
 
AE::Decorator< float > m_pt_uncalib
 
AE::Decorator< float > m_eta_uncalib
 
AE::Decorator< float > m_abs_eta_uncalib
 
AE::Decorator< float > m_scalarSumTrackPt
 
AE::ConstAccessor< std::vector< float > > m_ip2d_weightBOfTracks
 
AE::Decorator< int > m_ip2d_nTrks
 
AE::ConstAccessor< float > m_ip2d_pu
 
AE::ConstAccessor< float > m_ip2d_pc
 
AE::ConstAccessor< float > m_ip2d_pb
 
AE::Decorator< char > m_ip2d_isDefaults
 
AE::Decorator< float > m_ip2d_cu
 
AE::Decorator< float > m_ip2d_bu
 
AE::Decorator< float > m_ip2d_bc
 
AE::ConstAccessor< std::vector< float > > m_ip3d_weightBOfTracks
 
AE::Decorator< int > m_ip3d_nTrks
 
AE::ConstAccessor< float > m_ip3d_pu
 
AE::ConstAccessor< float > m_ip3d_pc
 
AE::ConstAccessor< float > m_ip3d_pb
 
AE::Decorator< char > m_ip3d_isDefaults
 
AE::Decorator< float > m_ip3d_cu
 
AE::Decorator< float > m_ip3d_bu
 
AE::Decorator< float > m_ip3d_bc
 
AE::ConstAccessor< float > m_jf_deltaEta
 
AE::ConstAccessor< float > m_jf_deltaPhi
 
AE::ConstAccessor< std::vector< float > > m_jf_fittedPosition
 
AE::ConstAccessor< std::vector< ElementLink< xAOD::BTagVertexContainer > > > m_jf_vertices
 
AE::ConstAccessor< int > m_jf_nVtx
 
AE::ConstAccessor< int > m_jf_nSingleTracks
 
AE::Decorator< char > m_jf_isDefaults
 
AE::Decorator< float > m_jf_deltaR
 
AE::ConstAccessor< std::vector< ElementLink< xAOD::VertexContainer > > > m_sv1_vertices
 
AE::Decorator< int > m_sv1_nVtx
 
AE::Decorator< char > m_sv1_isDefaults
 
AE::ConstAccessor< std::vector< ElementLink< xAOD::TrackParticleContainer > > > m_jet_track_links
 
AE::Decorator< char > m_secondaryVtx_isDefaults
 
AE::Decorator< int > m_secondaryVtx_nTrks
 
AE::Decorator< float > m_secondaryVtx_m
 
AE::Decorator< float > m_secondaryVtx_E
 
AE::Decorator< float > m_secondaryVtx_EFrac
 
AE::Decorator< float > m_secondaryVtx_L3d
 
AE::Decorator< float > m_secondaryVtx_Lxy
 
AE::Decorator< float > m_secondaryVtx_min_trk_flightDirRelEta
 
AE::Decorator< float > m_secondaryVtx_max_trk_flightDirRelEta
 
AE::Decorator< float > m_secondaryVtx_avg_trk_flightDirRelEta
 
AE::Decorator< float > m_DMeson_m
 
AE::Decorator< char > m_DMeson_isDefaults
 
AE::Decorator< float > m_min_trk_flightDirRelEta
 
AE::Decorator< float > m_max_trk_flightDirRelEta
 
AE::Decorator< float > m_avg_trk_flightDirRelEta
 
FlipTagConfig m_flipConfig
 
bool m_useIpxd
 

Detailed Description

Definition at line 15 of file BTagJetAugmenter.h.

Member Typedef Documentation

◆ AE

Definition at line 46 of file BTagJetAugmenter.h.

◆ FlipTagConfig

Definition at line 18 of file BTagJetAugmenter.h.

Constructor & Destructor Documentation

◆ BTagJetAugmenter() [1/2]

BTagJetAugmenter::BTagJetAugmenter ( const std::string &  associator = "BTagTrackToJetAssociator",
FlavorTagDiscriminants::FlipTagConfig  f = FlipTagConfig::STANDARD,
bool  useIpxd = false 
)

Definition at line 60 of file BTagJetAugmenter.cxx.

62  :
63  m_jetLink("jetLink"),
64  m_pt_uncalib("pt_btagJes"),
65  m_eta_uncalib("eta_btagJes"),
66  m_abs_eta_uncalib("absEta_btagJes"),
67  m_scalarSumTrackPt("scalarSumTrackPt"),
68  m_ip2d_weightBOfTracks(ip2(f) + "_weightBofTracks"),
69  m_ip2d_nTrks(ip2(f) + "_nTrks"),
70  m_ip2d_pu(ip2(f) + "_pu"),
71  m_ip2d_pc(ip2(f) + "_pc"),
72  m_ip2d_pb(ip2(f) + "_pb"),
73  m_ip2d_isDefaults(ip2(f) + "_isDefaults"),
74  m_ip2d_cu(ip2(f) + "_cu"),
75  m_ip2d_bu(ip2(f) + "_bu"),
76  m_ip2d_bc(ip2(f) + "_bc"),
77  m_ip3d_weightBOfTracks(ip3(f) + "_weightBofTracks"),
78  m_ip3d_nTrks(ip3(f) + "_nTrks"),
79  m_ip3d_pu(ip3(f) + "_pu"),
80  m_ip3d_pc(ip3(f) + "_pc"),
81  m_ip3d_pb(ip3(f) + "_pb"),
82  m_ip3d_isDefaults(ip3(f) + "_isDefaults"),
83  m_ip3d_cu(ip3(f) + "_cu"),
84  m_ip3d_bu(ip3(f) + "_bu"),
85  m_ip3d_bc(ip3(f) + "_bc"),
86  m_jf_deltaEta(jf(f) + "_deltaeta"),
87  m_jf_deltaPhi(jf(f) + "_deltaphi"),
88  m_jf_fittedPosition(jf(f) + "_fittedPosition"),
89  m_jf_vertices(jf(f) + "_JFvertices"),
90  m_jf_nVtx(jf(f) + "_nVTX"),
91  m_jf_nSingleTracks(jf(f) + "_nSingleTracks"),
92  m_jf_isDefaults(jf(f) + "_isDefaults"),
93  m_jf_deltaR(jf(f) + "_deltaR"),
94  m_sv1_vertices(sv(f) + "_vertices"),
95  m_sv1_nVtx(sv(f) + "_nVtx"),
96  m_sv1_isDefaults(sv(f) + "_isDefaults"),
97  m_jet_track_links(associator),
98  m_secondaryVtx_isDefaults(jfSvNew(f) + "_isDefaults"),
99  m_secondaryVtx_nTrks(jfSvNew(f) + "_nTracks"),
100  m_secondaryVtx_m(jfSvNew(f) + "_mass"),
101  m_secondaryVtx_E(jfSvNew(f) + "_energy"),
102  m_secondaryVtx_EFrac(jfSvNew(f) + "_energyFraction"),
103  m_secondaryVtx_L3d(jfSvNew(f) + "_displacement3d"),
104  m_secondaryVtx_Lxy(jfSvNew(f) + "_displacement2d"),
105  m_secondaryVtx_min_trk_flightDirRelEta(jfSvNew(f) + "_minimumTrackRelativeEta"),
106  m_secondaryVtx_max_trk_flightDirRelEta(jfSvNew(f) + "_maximumTrackRelativeEta"),
107  m_secondaryVtx_avg_trk_flightDirRelEta(jfSvNew(f) + "_averageTrackRelativeEta"),
108  m_DMeson_m(jfDMeson(f) + "_mass"),
109  m_DMeson_isDefaults(jfDMeson(f) + "_isDefaults"),
110  m_min_trk_flightDirRelEta(jfSvNew(f) + "_minimumAllJetTrackRelativeEta"),
111  m_max_trk_flightDirRelEta(jfSvNew(f) + "_maximumAllJetTrackRelativeEta"),
112  m_avg_trk_flightDirRelEta(jfSvNew(f) + "_averageAllJetTrackRelativeEta"),
113  m_flipConfig(f),
114  m_useIpxd(useIpxd)
115 {
116 }

◆ ~BTagJetAugmenter()

BTagJetAugmenter::~BTagJetAugmenter ( )
default

◆ BTagJetAugmenter() [2/2]

BTagJetAugmenter::BTagJetAugmenter ( BTagJetAugmenter &&  )
default

Member Function Documentation

◆ augment() [1/2]

void BTagJetAugmenter::augment ( const xAOD::BTagging btag) const

Definition at line 243 of file BTagJetAugmenter.cxx.

243  {
244 
245  if (m_useIpxd) {
246  if (m_ip2d_weightBOfTracks(btag).size() > 0) {
247  m_ip2d_isDefaults(btag) = 0;
248  } else {
249  m_ip2d_isDefaults(btag) = 1;
250  }
251  m_ip2d_nTrks(btag) = m_ip2d_weightBOfTracks(btag).size();
252 
253  if (m_ip3d_weightBOfTracks(btag).size() > 0) {
254  m_ip3d_isDefaults(btag) = 0;
255  } else {
256  m_ip3d_isDefaults(btag) = 1;
257  }
258 
259  m_ip3d_nTrks(btag) = m_ip3d_weightBOfTracks(btag).size();
260  augmentIpRatios(btag);
261  }
262 
263  m_jf_isDefaults(btag) = jfIsDefaults(btag);
264  augmentJfDr(btag);
265 
266  if (m_sv1_vertices(btag).size() > 0) {
267  m_sv1_isDefaults(btag) = 0;
268  } else {
269  m_sv1_isDefaults(btag) = 1;
270  }
271 
272  TVector3 flightDir(NAN, NAN, NAN);
273  float jf_phi = NAN;
274  float jf_theta = NAN;
275 
276  int secondary_jf_vtx_index = -1;
277  int secondaryVtx_track_number = -1;
278  float secondaryVtx_charge = 0; // SV charge!!!
279  double secondaryVtx_track_flightDirRelEta_total = NAN;
280  float min_jf_vtx_L3d = NAN;
281 
282  if (m_jf_fittedPosition(btag).size() > 4) {
283  jf_phi = m_jf_fittedPosition(btag).at(3);
284  jf_theta = m_jf_fittedPosition(btag).at(4);
285  flightDir.SetMagThetaPhi(1, jf_theta, jf_phi);
286 
287  for (std::size_t jf_vtx_index = 0; jf_vtx_index < m_jf_vertices(btag).size() && jf_vtx_index < m_jf_fittedPosition(btag).size() - 5; jf_vtx_index++) {
288  float jf_vtx_L3d = m_jf_fittedPosition(btag).at(jf_vtx_index + 5);
289  if ((m_flipConfig==FlipTagConfig::STANDARD and jf_vtx_L3d > 0) ||
290  (m_flipConfig!=FlipTagConfig::STANDARD and jf_vtx_L3d < 0)){
291  if(std::isnan(min_jf_vtx_L3d) || ( std::abs(jf_vtx_L3d) < std::abs(min_jf_vtx_L3d) ) ){
292  secondary_jf_vtx_index = jf_vtx_index;
293  min_jf_vtx_L3d = jf_vtx_L3d;
294 
295  }
296  }
297  }
298 
299  if (secondary_jf_vtx_index >= 0) {
300  secondaryVtx_track_number = 0;
301  secondaryVtx_track_flightDirRelEta_total = 0;
302  m_secondaryVtx_isDefaults(btag) = 0;
303  } else {
304  m_secondaryVtx_isDefaults(btag) = 1;
305  }
306  } else {
307  m_secondaryVtx_isDefaults(btag) = 1;
308  }
309 
310  if (m_flipConfig!=FlipTagConfig::STANDARD and !std::isnan(min_jf_vtx_L3d) ) {
311  min_jf_vtx_L3d=-1*min_jf_vtx_L3d;
312  }
313 
314 
315  m_secondaryVtx_L3d(btag) = min_jf_vtx_L3d;
316  m_secondaryVtx_Lxy(btag) = min_jf_vtx_L3d * sinf(jf_theta);
317 
318  const float track_mass = 139.57; // assume pion mass for all tracks
319  const float track_kaon = 493.677; // kaon mass
320 
321  unsigned track_number = 0;
322  double track_E_total = 0;
323  float track_pt_total = 0;
324  double min_track_flightDirRelEta = NAN;
325  double max_track_flightDirRelEta = NAN;
326  double track_flightDirRelEta_total = 0;
327 
328  TLorentzVector secondaryVtx_4momentum_total;
329  TLorentzVector secondaryVtx_4momentum_Dmeson;
330 
331  // try to record
332  std::vector<TLorentzVector> secondaryVtx_4momentum_vector;
333  std::vector<float> secondaryVtx_charge_vector;
334 
335  double secondaryVtx_min_track_flightDirRelEta = NAN;
336  double secondaryVtx_max_track_flightDirRelEta = NAN;
337 
338  // Loop over tracks in the jet
339  for (const auto &jet_track_link : m_jet_track_links(btag)) {
340  const xAOD::TrackParticle &track_particle = **jet_track_link;
341 
342  uint8_t n_pixel_hits;
343  uint8_t n_sct_hits;
344  bool rc = true;
345  rc &= track_particle.summaryValue(n_pixel_hits, xAOD::numberOfPixelHits);
346  rc &= track_particle.summaryValue(n_sct_hits, xAOD::numberOfSCTHits);
347  if (!rc) throw std::runtime_error(
348  "track summary values are missing, can't compute b-tagging variables");
349 
350  // compute scalar track pt sum with all tracks, ignoring the requirement on pixel and SCT hits
351  track_pt_total += track_particle.pt();
352 
353  if (n_pixel_hits + n_sct_hits < 2) continue;
354  track_number++;
355  track_E_total += track_particle.e();
356 
357  double track_flightDirRelEta = NAN;
358  if (!std::isnan(jf_phi)) {
359  TVector3 track_flightDirRelVect = track_particle.p4().Vect();
360  if (track_flightDirRelVect.Perp()) {
361  track_flightDirRelVect.SetTheta(track_flightDirRelVect.Angle(flightDir));
362  track_flightDirRelEta = track_flightDirRelVect.PseudoRapidity();
363  }
364  }
365 
366  track_flightDirRelEta_total += track_flightDirRelEta;
367  if(std::isnan(min_track_flightDirRelEta) || track_flightDirRelEta < min_track_flightDirRelEta){
368  min_track_flightDirRelEta = track_flightDirRelEta;
369  }
370  if (std::isnan(max_track_flightDirRelEta) || track_flightDirRelEta > max_track_flightDirRelEta) {
371  max_track_flightDirRelEta = track_flightDirRelEta;
372  }
373  if (secondary_jf_vtx_index >= 0) {
374  for (const ElementLink<xAOD::TrackParticleContainer>& vertex_track_particle : (**m_jf_vertices(btag).at(secondary_jf_vtx_index)).track_links()) {
375  if (*vertex_track_particle == &track_particle) {
376  secondaryVtx_charge+=track_particle.charge(); // calculate the total charge
377  secondaryVtx_track_number++;
378  TLorentzVector track_fourVector;
379  track_fourVector.SetVectM(track_particle.p4().Vect(), track_mass);
380  secondaryVtx_4momentum_total += track_fourVector;
381  secondaryVtx_4momentum_vector.push_back(track_fourVector);
382  secondaryVtx_charge_vector.push_back(track_particle.charge());
383  secondaryVtx_track_flightDirRelEta_total += track_flightDirRelEta;
384  if (std::isnan(secondaryVtx_min_track_flightDirRelEta) || track_flightDirRelEta < secondaryVtx_min_track_flightDirRelEta) {
385  secondaryVtx_min_track_flightDirRelEta = track_flightDirRelEta;
386  }
387  if (std::isnan(secondaryVtx_max_track_flightDirRelEta) || track_flightDirRelEta > secondaryVtx_max_track_flightDirRelEta) {
388  secondaryVtx_max_track_flightDirRelEta = track_flightDirRelEta;
389  }
390  }
391  }
392  }
393  }
394  m_scalarSumTrackPt(btag) = track_pt_total;
395  m_secondaryVtx_nTrks(btag) = secondaryVtx_track_number;
396 
397  // Here begins a few blocks where the decoration depends on the
398  // schema. I would like to move a number of values that were
399  // previously stored as double to float.
400  {
401  double m = NAN;
402  double E = NAN;
403  double EFrac = NAN;
404  if (secondaryVtx_track_number >= 0) {
405  m = secondaryVtx_4momentum_total.M();
406  E = secondaryVtx_4momentum_total.E();
407  EFrac = E / track_E_total;
408  }
409  m_secondaryVtx_m(btag) = m;
410  m_secondaryVtx_E(btag) = E;
411  m_secondaryVtx_EFrac(btag) = EFrac;
412  // D meson reconstruction
413  m_DMeson_m(btag) = m;
414  m_DMeson_isDefaults(btag) = 1; // 1 for failing reconstruction; 0 for passing reconstruction
415  double tempM_forDmeson = getDmesonMass(secondaryVtx_track_number, secondaryVtx_charge, secondaryVtx_4momentum_vector,secondaryVtx_charge_vector, track_mass, track_kaon);
416 
417  if(tempM_forDmeson>-98){
418  m_DMeson_m(btag) = tempM_forDmeson;
419  m_DMeson_isDefaults(btag) = 0;
420  }else{
421  m_DMeson_isDefaults(btag) = 1;
422  }
423 
424  }
425  if(secondaryVtx_track_number > 0){
426  double min = secondaryVtx_min_track_flightDirRelEta;
427  double max = secondaryVtx_max_track_flightDirRelEta;
428  double avg = secondaryVtx_track_flightDirRelEta_total / secondaryVtx_track_number;
432  }else{
436  }
437  if(track_number > 0){
438  double min = min_track_flightDirRelEta;
439  double max = max_track_flightDirRelEta;
440  double avg = track_flightDirRelEta_total / track_number;
444  }else{
445  m_min_trk_flightDirRelEta(btag) = NAN;
446  m_max_trk_flightDirRelEta(btag) = NAN;
447  m_avg_trk_flightDirRelEta(btag) = NAN;
448  }
449 
450 }

◆ augment() [2/2]

void BTagJetAugmenter::augment ( const xAOD::BTagging btag,
const xAOD::BTagging uncalibrated_btag 
) const

Definition at line 172 of file BTagJetAugmenter.cxx.

173  {
174 
175  augmentBtagJes(jet, uncalibrated_jet);
176 
177  // pass off to calibrated jet function
178  augment(jet);
179 }

◆ augmentBtagJes() [1/2]

void BTagJetAugmenter::augmentBtagJes ( const xAOD::BTagging target,
const xAOD::BTagging uncalib 
) const

Definition at line 223 of file BTagJetAugmenter.cxx.

224  {
225  auto uncalib_link = m_jetLink(uncalib);
226  if (!uncalib_link.isValid()) {
227  throw std::runtime_error("missing jetLink");
228  }
229  const xAOD::Jet& uncalib_jet = **uncalib_link;
230 
231  m_pt_uncalib(target) = uncalib_jet.pt();
232  m_eta_uncalib(target) = uncalib_jet.eta();
233  m_abs_eta_uncalib(target) = std::abs(uncalib_jet.eta());
234 }

◆ augmentBtagJes() [2/2]

void BTagJetAugmenter::augmentBtagJes ( const xAOD::Jet target,
const xAOD::Jet uncalib 
) const

Definition at line 236 of file BTagJetAugmenter.cxx.

237  {
238  m_pt_uncalib(target) = uncalib.pt();
239  m_eta_uncalib(target) = uncalib.eta();
240  m_abs_eta_uncalib(target) = std::abs(uncalib.eta());
241 }

◆ augmentIpRatios()

void BTagJetAugmenter::augmentIpRatios ( const xAOD::BTagging btag) const

Definition at line 211 of file BTagJetAugmenter.cxx.

211  {
212 
213  m_ip2d_cu(btag) = safelog_prob(m_ip2d_pc(btag) , m_ip2d_pu(btag));
214  m_ip2d_bu(btag) = safelog_prob(m_ip2d_pb(btag) , m_ip2d_pu(btag));
215  m_ip2d_bc(btag) = safelog_prob(m_ip2d_pb(btag) , m_ip2d_pc(btag));
216 
217  m_ip3d_cu(btag) = safelog_prob(m_ip3d_pc(btag) , m_ip3d_pu(btag));
218  m_ip3d_bu(btag) = safelog_prob(m_ip3d_pb(btag) , m_ip3d_pu(btag));
219  m_ip3d_bc(btag) = safelog_prob(m_ip3d_pb(btag) , m_ip3d_pc(btag));
220 
221 }

◆ augmentJfDr()

void BTagJetAugmenter::augmentJfDr ( const xAOD::BTagging btag) const

Definition at line 181 of file BTagJetAugmenter.cxx.

181  {
182  if (jfIsDefaults(btag)) {
183  m_jf_deltaR(btag) = NAN;
184  } else {
185  m_jf_deltaR(btag) = std::hypot(m_jf_deltaEta(btag), m_jf_deltaPhi(btag));
186  }
187 }

◆ getAuxInputKeys()

std::set< std::string > BTagJetAugmenter::getAuxInputKeys ( ) const

Definition at line 162 of file BTagJetAugmenter.cxx.

162  {
163  const auto& type_registry = SG::AuxTypeRegistry::instance();
164  std::set<std::string> keys;
165  for (const auto& auxid: {
166  m_jetLink.auxid()}) {
167  keys.insert(type_registry.getName(auxid));
168  }
169  return keys;
170 }

◆ getDecoratorKeys()

std::set< std::string > BTagJetAugmenter::getDecoratorKeys ( ) const

Definition at line 121 of file BTagJetAugmenter.cxx.

121  {
122  const auto& type_registry = SG::AuxTypeRegistry::instance();
123  std::set<std::string> keys;
124  for (const auto& auxid: {
125  m_pt_uncalib.auxid(),
126  m_eta_uncalib.auxid(),
127  m_abs_eta_uncalib.auxid(),
128  m_scalarSumTrackPt.auxid(),
129  m_ip2d_nTrks.auxid(),
130  m_ip2d_isDefaults.auxid(),
131  m_ip2d_cu.auxid(),
132  m_ip2d_bu.auxid(),
133  m_ip2d_bc.auxid(),
134  m_ip3d_nTrks.auxid(),
135  m_ip3d_isDefaults.auxid(),
136  m_ip3d_cu.auxid(),
137  m_ip3d_bu.auxid(),
138  m_ip3d_bc.auxid(),
139  m_jf_isDefaults.auxid(),
140  m_jf_deltaR.auxid(),
141  m_sv1_isDefaults.auxid(),
143  m_secondaryVtx_nTrks.auxid(),
144  m_secondaryVtx_m.auxid(),
145  m_secondaryVtx_E.auxid(),
146  m_secondaryVtx_EFrac.auxid(),
147  m_secondaryVtx_L3d.auxid(),
148  m_secondaryVtx_Lxy.auxid(),
152  m_DMeson_m.auxid(),
153  m_DMeson_isDefaults.auxid(),
156  m_avg_trk_flightDirRelEta.auxid()}) {
157  keys.insert(type_registry.getName(auxid));
158  }
159  return keys;
160 }

◆ getDmesonMass()

double BTagJetAugmenter::getDmesonMass ( int  secondaryVtx_track_number,
float  secondaryVtx_charge,
std::vector< TLorentzVector >  secondaryVtx_4momentum_vector,
std::vector< float >  secondaryVtx_charge_vector,
const float  track_mass,
const float  track_kaon 
) const
private

Definition at line 457 of file BTagJetAugmenter.cxx.

457  {
458 
459  double DmesonMass = -99.0;
460  const float Dmeson_reference = 1864.83;
461  const float Dmeson_upper = 2200.0;
462  const float Dmeson_lower = 1000.0;
463  TLorentzVector secondaryVtx_4momentum_Dmeson;
464 
465  // now reconstruct D mesons
466  if(secondaryVtx_track_number == 3 && abs(secondaryVtx_charge) == 1){ // D+ -> K- pi+ pi+, and charge conjugate
467  std::vector<TLorentzVector>::const_iterator secondaryVtx_4momentum_Iter = secondaryVtx_4momentum_vector.begin();
468  for (std::vector<float>::const_iterator secondaryVtx_charge_Iter = secondaryVtx_charge_vector.begin();
469  secondaryVtx_charge_Iter != secondaryVtx_charge_vector.end();
470  ++secondaryVtx_charge_Iter) {
471  TLorentzVector track_fourVector_new;
472  if((secondaryVtx_charge==1 && (*secondaryVtx_charge_Iter)==-1) || (secondaryVtx_charge==-1 && (*secondaryVtx_charge_Iter)==1)){
473  track_fourVector_new.SetVectM((*secondaryVtx_4momentum_Iter).Vect(), track_kaon);
474  } else {
475  track_fourVector_new.SetVectM((*secondaryVtx_4momentum_Iter).Vect(), track_mass);
476  }
477  secondaryVtx_4momentum_Dmeson += track_fourVector_new;
478  ++secondaryVtx_4momentum_Iter;
479  }
480  if(secondaryVtx_4momentum_Dmeson.M()>Dmeson_lower && secondaryVtx_4momentum_Dmeson.M()<Dmeson_upper){
481  DmesonMass = secondaryVtx_4momentum_Dmeson.M();
482  }
483  } else if(secondaryVtx_track_number == 2 && secondaryVtx_charge == 0){ // D0 -> K- pi+
484  std::vector<TLorentzVector>::const_iterator secondaryVtx_4momentum_Iter = secondaryVtx_4momentum_vector.begin();
485  for (std::vector<float>::const_iterator secondaryVtx_charge_Iter = secondaryVtx_charge_vector.begin();
486  secondaryVtx_charge_Iter != secondaryVtx_charge_vector.end();
487  ++secondaryVtx_charge_Iter) {
488  TLorentzVector track_fourVector_new;
489  if((*secondaryVtx_charge_Iter)==-1){
490  track_fourVector_new.SetVectM((*secondaryVtx_4momentum_Iter).Vect(), track_kaon);
491  } else {
492  track_fourVector_new.SetVectM((*secondaryVtx_4momentum_Iter).Vect(), track_mass);
493  }
494  secondaryVtx_4momentum_Dmeson += track_fourVector_new;
495  ++secondaryVtx_4momentum_Iter;
496  }
497  if(secondaryVtx_4momentum_Dmeson.M()>Dmeson_lower && secondaryVtx_4momentum_Dmeson.M()<Dmeson_upper){
498  DmesonMass = secondaryVtx_4momentum_Dmeson.M();
499  }
500  } else if(secondaryVtx_track_number == 4 && secondaryVtx_charge == 0){ // D0 -> K- pi+ pi- pi+
501  std::vector<TLorentzVector>::const_iterator secondaryVtx_4momentum_Iter = secondaryVtx_4momentum_vector.begin();
502  bool KaonFlag = false; //if Kaon is already taken: KaonFlag = true
503  for (std::vector<float>::const_iterator secondaryVtx_charge_Iter = secondaryVtx_charge_vector.begin();
504  secondaryVtx_charge_Iter != secondaryVtx_charge_vector.end();
505  ++secondaryVtx_charge_Iter) {
506  TLorentzVector track_fourVector_new;
507  if((*secondaryVtx_charge_Iter)==-1 && KaonFlag == false){
508  track_fourVector_new.SetVectM((*secondaryVtx_4momentum_Iter).Vect(), track_kaon);
509  KaonFlag=true;
510  } else {
511  track_fourVector_new.SetVectM((*secondaryVtx_4momentum_Iter).Vect(), track_mass);
512  }
513  secondaryVtx_4momentum_Dmeson += track_fourVector_new;
514  ++secondaryVtx_4momentum_Iter;
515  }
516  double mDmeson_1 = secondaryVtx_4momentum_Dmeson.M();
517  secondaryVtx_4momentum_Iter = secondaryVtx_4momentum_vector.begin();
518  KaonFlag = false;
519  TLorentzVector secondaryVtx_4momentum_Dmeson_new;
520  for(std::vector<float>::const_iterator secondaryVtx_charge_Iter = secondaryVtx_charge_vector.begin();
521  secondaryVtx_charge_Iter != secondaryVtx_charge_vector.end();
522  ++secondaryVtx_charge_Iter) {
523  TLorentzVector track_fourVector_new2;
524  if((*secondaryVtx_charge_Iter)==-1 && KaonFlag == false){
525  KaonFlag=true;
526  } else if ((*secondaryVtx_charge_Iter)==-1 && KaonFlag == true){
527  track_fourVector_new2.SetVectM((*secondaryVtx_4momentum_Iter).Vect(), track_kaon);
528  } else{
529  track_fourVector_new2.SetVectM((*secondaryVtx_4momentum_Iter).Vect(), track_mass);
530  }
531  secondaryVtx_4momentum_Dmeson_new += track_fourVector_new2;
532  ++secondaryVtx_4momentum_Iter;
533  }
534  double mDmeson_2 = secondaryVtx_4momentum_Dmeson_new.M();
535  if (std::abs(mDmeson_1 - Dmeson_reference)<=std::abs(mDmeson_2 - Dmeson_reference) && mDmeson_1>Dmeson_lower && mDmeson_1<Dmeson_upper){
536  DmesonMass=mDmeson_1;
537  }
538  else if(std::abs(mDmeson_2 - Dmeson_reference)<=std::abs(mDmeson_1 - Dmeson_reference) && mDmeson_2>Dmeson_lower && mDmeson_2<Dmeson_upper){
539  DmesonMass=mDmeson_2;
540  }
541  }
542 
543  return DmesonMass;
544 }

◆ jfIsDefaults()

bool BTagJetAugmenter::jfIsDefaults ( const xAOD::BTagging btag) const
private

Definition at line 453 of file BTagJetAugmenter.cxx.

453  {
454  return !(m_jf_vertices(btag).size() > 0 && (m_jf_nVtx(btag) > 0 || m_jf_nSingleTracks(btag) > 0));
455 }

◆ safelog_prob()

float BTagJetAugmenter::safelog_prob ( float  p_up,
float  p_down 
) const
private

Definition at line 190 of file BTagJetAugmenter.cxx.

190  {
191 
192  if( std::isnan(p_up) ){
193  return -1000.0;
194  }
195 
196  if(std::isnan(p_down) ){
197  return -1000.0;
198  }
199 
200  if(p_down < 0.0000000000000000000001 && p_up > p_down){
201  return 1000.0;
202  }
203 
204  if(p_up < 0.0000000000000000000001){
205  return -1000.0;
206  }
207 
208  return std::log(p_up /p_down);
209 }

Member Data Documentation

◆ m_abs_eta_uncalib

AE::Decorator<float> BTagJetAugmenter::m_abs_eta_uncalib
private

Definition at line 52 of file BTagJetAugmenter.h.

◆ m_avg_trk_flightDirRelEta

AE::Decorator<float> BTagJetAugmenter::m_avg_trk_flightDirRelEta
private

Definition at line 106 of file BTagJetAugmenter.h.

◆ m_DMeson_isDefaults

AE::Decorator<char> BTagJetAugmenter::m_DMeson_isDefaults
private

Definition at line 102 of file BTagJetAugmenter.h.

◆ m_DMeson_m

AE::Decorator<float> BTagJetAugmenter::m_DMeson_m
private

Definition at line 101 of file BTagJetAugmenter.h.

◆ m_eta_uncalib

AE::Decorator<float> BTagJetAugmenter::m_eta_uncalib
private

Definition at line 51 of file BTagJetAugmenter.h.

◆ m_flipConfig

FlipTagConfig BTagJetAugmenter::m_flipConfig
private

Definition at line 108 of file BTagJetAugmenter.h.

◆ m_ip2d_bc

AE::Decorator<float> BTagJetAugmenter::m_ip2d_bc
private

Definition at line 64 of file BTagJetAugmenter.h.

◆ m_ip2d_bu

AE::Decorator<float> BTagJetAugmenter::m_ip2d_bu
private

Definition at line 63 of file BTagJetAugmenter.h.

◆ m_ip2d_cu

AE::Decorator<float> BTagJetAugmenter::m_ip2d_cu
private

Definition at line 62 of file BTagJetAugmenter.h.

◆ m_ip2d_isDefaults

AE::Decorator<char> BTagJetAugmenter::m_ip2d_isDefaults
private

Definition at line 61 of file BTagJetAugmenter.h.

◆ m_ip2d_nTrks

AE::Decorator<int> BTagJetAugmenter::m_ip2d_nTrks
private

Definition at line 57 of file BTagJetAugmenter.h.

◆ m_ip2d_pb

AE::ConstAccessor<float> BTagJetAugmenter::m_ip2d_pb
private

Definition at line 60 of file BTagJetAugmenter.h.

◆ m_ip2d_pc

AE::ConstAccessor<float> BTagJetAugmenter::m_ip2d_pc
private

Definition at line 59 of file BTagJetAugmenter.h.

◆ m_ip2d_pu

AE::ConstAccessor<float> BTagJetAugmenter::m_ip2d_pu
private

Definition at line 58 of file BTagJetAugmenter.h.

◆ m_ip2d_weightBOfTracks

AE::ConstAccessor<std::vector<float> > BTagJetAugmenter::m_ip2d_weightBOfTracks
private

Definition at line 56 of file BTagJetAugmenter.h.

◆ m_ip3d_bc

AE::Decorator<float> BTagJetAugmenter::m_ip3d_bc
private

Definition at line 74 of file BTagJetAugmenter.h.

◆ m_ip3d_bu

AE::Decorator<float> BTagJetAugmenter::m_ip3d_bu
private

Definition at line 73 of file BTagJetAugmenter.h.

◆ m_ip3d_cu

AE::Decorator<float> BTagJetAugmenter::m_ip3d_cu
private

Definition at line 72 of file BTagJetAugmenter.h.

◆ m_ip3d_isDefaults

AE::Decorator<char> BTagJetAugmenter::m_ip3d_isDefaults
private

Definition at line 71 of file BTagJetAugmenter.h.

◆ m_ip3d_nTrks

AE::Decorator<int> BTagJetAugmenter::m_ip3d_nTrks
private

Definition at line 67 of file BTagJetAugmenter.h.

◆ m_ip3d_pb

AE::ConstAccessor<float> BTagJetAugmenter::m_ip3d_pb
private

Definition at line 70 of file BTagJetAugmenter.h.

◆ m_ip3d_pc

AE::ConstAccessor<float> BTagJetAugmenter::m_ip3d_pc
private

Definition at line 69 of file BTagJetAugmenter.h.

◆ m_ip3d_pu

AE::ConstAccessor<float> BTagJetAugmenter::m_ip3d_pu
private

Definition at line 68 of file BTagJetAugmenter.h.

◆ m_ip3d_weightBOfTracks

AE::ConstAccessor<std::vector<float> > BTagJetAugmenter::m_ip3d_weightBOfTracks
private

Definition at line 66 of file BTagJetAugmenter.h.

◆ m_jet_track_links

AE::ConstAccessor<std::vector<ElementLink<xAOD::TrackParticleContainer> > > BTagJetAugmenter::m_jet_track_links
private

Definition at line 89 of file BTagJetAugmenter.h.

◆ m_jetLink

AE::ConstAccessor<ElementLink<xAOD::JetContainer> > BTagJetAugmenter::m_jetLink
private

Definition at line 48 of file BTagJetAugmenter.h.

◆ m_jf_deltaEta

AE::ConstAccessor<float> BTagJetAugmenter::m_jf_deltaEta
private

Definition at line 76 of file BTagJetAugmenter.h.

◆ m_jf_deltaPhi

AE::ConstAccessor<float> BTagJetAugmenter::m_jf_deltaPhi
private

Definition at line 77 of file BTagJetAugmenter.h.

◆ m_jf_deltaR

AE::Decorator<float> BTagJetAugmenter::m_jf_deltaR
private

Definition at line 83 of file BTagJetAugmenter.h.

◆ m_jf_fittedPosition

AE::ConstAccessor<std::vector<float> > BTagJetAugmenter::m_jf_fittedPosition
private

Definition at line 78 of file BTagJetAugmenter.h.

◆ m_jf_isDefaults

AE::Decorator<char> BTagJetAugmenter::m_jf_isDefaults
private

Definition at line 82 of file BTagJetAugmenter.h.

◆ m_jf_nSingleTracks

AE::ConstAccessor<int> BTagJetAugmenter::m_jf_nSingleTracks
private

Definition at line 81 of file BTagJetAugmenter.h.

◆ m_jf_nVtx

AE::ConstAccessor<int> BTagJetAugmenter::m_jf_nVtx
private

Definition at line 80 of file BTagJetAugmenter.h.

◆ m_jf_vertices

AE::ConstAccessor<std::vector<ElementLink<xAOD::BTagVertexContainer> > > BTagJetAugmenter::m_jf_vertices
private

Definition at line 79 of file BTagJetAugmenter.h.

◆ m_max_trk_flightDirRelEta

AE::Decorator<float> BTagJetAugmenter::m_max_trk_flightDirRelEta
private

Definition at line 105 of file BTagJetAugmenter.h.

◆ m_min_trk_flightDirRelEta

AE::Decorator<float> BTagJetAugmenter::m_min_trk_flightDirRelEta
private

Definition at line 104 of file BTagJetAugmenter.h.

◆ m_pt_uncalib

AE::Decorator<float> BTagJetAugmenter::m_pt_uncalib
private

Definition at line 50 of file BTagJetAugmenter.h.

◆ m_scalarSumTrackPt

AE::Decorator<float> BTagJetAugmenter::m_scalarSumTrackPt
private

Definition at line 54 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_avg_trk_flightDirRelEta

AE::Decorator<float> BTagJetAugmenter::m_secondaryVtx_avg_trk_flightDirRelEta
private

Definition at line 99 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_E

AE::Decorator<float> BTagJetAugmenter::m_secondaryVtx_E
private

Definition at line 93 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_EFrac

AE::Decorator<float> BTagJetAugmenter::m_secondaryVtx_EFrac
private

Definition at line 94 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_isDefaults

AE::Decorator<char> BTagJetAugmenter::m_secondaryVtx_isDefaults
private

Definition at line 90 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_L3d

AE::Decorator<float> BTagJetAugmenter::m_secondaryVtx_L3d
private

Definition at line 95 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_Lxy

AE::Decorator<float> BTagJetAugmenter::m_secondaryVtx_Lxy
private

Definition at line 96 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_m

AE::Decorator<float> BTagJetAugmenter::m_secondaryVtx_m
private

Definition at line 92 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_max_trk_flightDirRelEta

AE::Decorator<float> BTagJetAugmenter::m_secondaryVtx_max_trk_flightDirRelEta
private

Definition at line 98 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_min_trk_flightDirRelEta

AE::Decorator<float> BTagJetAugmenter::m_secondaryVtx_min_trk_flightDirRelEta
private

Definition at line 97 of file BTagJetAugmenter.h.

◆ m_secondaryVtx_nTrks

AE::Decorator<int> BTagJetAugmenter::m_secondaryVtx_nTrks
private

Definition at line 91 of file BTagJetAugmenter.h.

◆ m_sv1_isDefaults

AE::Decorator<char> BTagJetAugmenter::m_sv1_isDefaults
private

Definition at line 87 of file BTagJetAugmenter.h.

◆ m_sv1_nVtx

AE::Decorator<int> BTagJetAugmenter::m_sv1_nVtx
private

Definition at line 86 of file BTagJetAugmenter.h.

◆ m_sv1_vertices

AE::ConstAccessor<std::vector<ElementLink<xAOD::VertexContainer> > > BTagJetAugmenter::m_sv1_vertices
private

Definition at line 85 of file BTagJetAugmenter.h.

◆ m_useIpxd

bool BTagJetAugmenter::m_useIpxd
private

Definition at line 109 of file BTagJetAugmenter.h.


The documentation for this class was generated from the following files:
BTagJetAugmenter::m_min_trk_flightDirRelEta
AE::Decorator< float > m_min_trk_flightDirRelEta
Definition: BTagJetAugmenter.h:104
xAOD::TrackParticle_v1::pt
virtual double pt() const override final
The transverse momentum ( ) of the particle.
Definition: TrackParticle_v1.cxx:73
BTagJetAugmenter::m_abs_eta_uncalib
AE::Decorator< float > m_abs_eta_uncalib
Definition: BTagJetAugmenter.h:52
python.CaloRecoConfig.f
f
Definition: CaloRecoConfig.py:127
BTagJetAugmenter::m_eta_uncalib
AE::Decorator< float > m_eta_uncalib
Definition: BTagJetAugmenter.h:51
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
max
#define max(a, b)
Definition: cfImp.cxx:41
FlavorTagDiscriminants::FlipTagConfig::STANDARD
@ STANDARD
BTagJetAugmenter::m_jf_deltaR
AE::Decorator< float > m_jf_deltaR
Definition: BTagJetAugmenter.h:83
BTagJetAugmenter::m_ip2d_bc
AE::Decorator< float > m_ip2d_bc
Definition: BTagJetAugmenter.h:64
BTagJetAugmenter::m_ip3d_nTrks
AE::Decorator< int > m_ip3d_nTrks
Definition: BTagJetAugmenter.h:67
BTagJetAugmenter::m_sv1_vertices
AE::ConstAccessor< std::vector< ElementLink< xAOD::VertexContainer > > > m_sv1_vertices
Definition: BTagJetAugmenter.h:85
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:575
BTagJetAugmenter::m_ip2d_pu
AE::ConstAccessor< float > m_ip2d_pu
Definition: BTagJetAugmenter.h:58
SG::AuxTypeRegistry::instance
static AuxTypeRegistry & instance()
Return the singleton registry instance.
Definition: AuxTypeRegistry.cxx:49
xAOD::TrackParticle_v1::charge
float charge() const
Returns the charge.
Definition: TrackParticle_v1.cxx:150
BTagJetAugmenter::m_ip3d_isDefaults
AE::Decorator< char > m_ip3d_isDefaults
Definition: BTagJetAugmenter.h:71
BTagJetAugmenter::getDmesonMass
double getDmesonMass(int secondaryVtx_track_number, float secondaryVtx_charge, std::vector< TLorentzVector > secondaryVtx_4momentum_vector, std::vector< float > secondaryVtx_charge_vector, const float track_mass, const float track_kaon) const
Definition: BTagJetAugmenter.cxx:457
BTagJetAugmenter::m_jet_track_links
AE::ConstAccessor< std::vector< ElementLink< xAOD::TrackParticleContainer > > > m_jet_track_links
Definition: BTagJetAugmenter.h:89
BTagJetAugmenter::augmentBtagJes
void augmentBtagJes(const xAOD::BTagging &target, const xAOD::BTagging &uncalib) const
Definition: BTagJetAugmenter.cxx:223
xAOD::TrackParticle_v1::summaryValue
bool summaryValue(uint8_t &value, const SummaryType &information) const
Accessor for TrackSummary values.
Definition: TrackParticle_v1.cxx:736
BTagJetAugmenter::m_jf_nVtx
AE::ConstAccessor< int > m_jf_nVtx
Definition: BTagJetAugmenter.h:80
BTagJetAugmenter::m_ip2d_cu
AE::Decorator< float > m_ip2d_cu
Definition: BTagJetAugmenter.h:62
BTagJetAugmenter::m_sv1_nVtx
AE::Decorator< int > m_sv1_nVtx
Definition: BTagJetAugmenter.h:86
BTagJetAugmenter::m_ip2d_pc
AE::ConstAccessor< float > m_ip2d_pc
Definition: BTagJetAugmenter.h:59
xAOD::numberOfPixelHits
@ numberOfPixelHits
these are the pixel hits, including the b-layer [unit8_t].
Definition: TrackingPrimitives.h:259
BTagJetAugmenter::jfIsDefaults
bool jfIsDefaults(const xAOD::BTagging &btag) const
Definition: BTagJetAugmenter.cxx:453
BTagJetAugmenter::augment
void augment(const xAOD::BTagging &btag) const
Definition: BTagJetAugmenter.cxx:243
BTagJetAugmenter::augmentIpRatios
void augmentIpRatios(const xAOD::BTagging &btag) const
Definition: BTagJetAugmenter.cxx:211
BTagJetAugmenter::m_ip3d_pu
AE::ConstAccessor< float > m_ip3d_pu
Definition: BTagJetAugmenter.h:68
BTagJetAugmenter::m_ip3d_bu
AE::Decorator< float > m_ip3d_bu
Definition: BTagJetAugmenter.h:73
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
BTagJetAugmenter::m_ip2d_bu
AE::Decorator< float > m_ip2d_bu
Definition: BTagJetAugmenter.h:63
xAOD::TrackParticle_v1::p4
virtual FourMom_t p4() const override final
The full 4-momentum of the particle.
Definition: TrackParticle_v1.cxx:129
BTagJetAugmenter::m_secondaryVtx_m
AE::Decorator< float > m_secondaryVtx_m
Definition: BTagJetAugmenter.h:92
BTagJetAugmenter::m_ip2d_weightBOfTracks
AE::ConstAccessor< std::vector< float > > m_ip2d_weightBOfTracks
Definition: BTagJetAugmenter.h:56
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
BTagJetAugmenter::m_ip2d_isDefaults
AE::Decorator< char > m_ip2d_isDefaults
Definition: BTagJetAugmenter.h:61
BTagJetAugmenter::m_jf_vertices
AE::ConstAccessor< std::vector< ElementLink< xAOD::BTagVertexContainer > > > m_jf_vertices
Definition: BTagJetAugmenter.h:79
BTagJetAugmenter::m_jf_nSingleTracks
AE::ConstAccessor< int > m_jf_nSingleTracks
Definition: BTagJetAugmenter.h:81
BTagJetAugmenter::augmentJfDr
void augmentJfDr(const xAOD::BTagging &btag) const
Definition: BTagJetAugmenter.cxx:181
BTagJetAugmenter::m_ip3d_bc
AE::Decorator< float > m_ip3d_bc
Definition: BTagJetAugmenter.h:74
BTagJetAugmenter::m_ip3d_pb
AE::ConstAccessor< float > m_ip3d_pb
Definition: BTagJetAugmenter.h:70
Recovery.avg
def avg(a, b)
Definition: Recovery.py:79
BTagJetAugmenter::m_jf_deltaEta
AE::ConstAccessor< float > m_jf_deltaEta
Definition: BTagJetAugmenter.h:76
BTagJetAugmenter::m_secondaryVtx_L3d
AE::Decorator< float > m_secondaryVtx_L3d
Definition: BTagJetAugmenter.h:95
BTagJetAugmenter::m_secondaryVtx_avg_trk_flightDirRelEta
AE::Decorator< float > m_secondaryVtx_avg_trk_flightDirRelEta
Definition: BTagJetAugmenter.h:99
BTagJetAugmenter::m_scalarSumTrackPt
AE::Decorator< float > m_scalarSumTrackPt
Definition: BTagJetAugmenter.h:54
BTagJetAugmenter::m_secondaryVtx_Lxy
AE::Decorator< float > m_secondaryVtx_Lxy
Definition: BTagJetAugmenter.h:96
BTagJetAugmenter::m_ip3d_pc
AE::ConstAccessor< float > m_ip3d_pc
Definition: BTagJetAugmenter.h:69
BTagJetAugmenter::m_pt_uncalib
AE::Decorator< float > m_pt_uncalib
Definition: BTagJetAugmenter.h:50
xAOD::Jet_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Definition: Jet_v1.cxx:49
min
#define min(a, b)
Definition: cfImp.cxx:40
BTagJetAugmenter::m_ip2d_nTrks
AE::Decorator< int > m_ip2d_nTrks
Definition: BTagJetAugmenter.h:57
BTagJetAugmenter::m_secondaryVtx_min_trk_flightDirRelEta
AE::Decorator< float > m_secondaryVtx_min_trk_flightDirRelEta
Definition: BTagJetAugmenter.h:97
BTagJetAugmenter::m_ip2d_pb
AE::ConstAccessor< float > m_ip2d_pb
Definition: BTagJetAugmenter.h:60
BTagJetAugmenter::m_secondaryVtx_nTrks
AE::Decorator< int > m_secondaryVtx_nTrks
Definition: BTagJetAugmenter.h:91
VP1PartSpect::E
@ E
Definition: VP1PartSpectFlags.h:21
BTagJetAugmenter::m_secondaryVtx_E
AE::Decorator< float > m_secondaryVtx_E
Definition: BTagJetAugmenter.h:93
xAOD::TrackParticle_v1::e
virtual double e() const override final
The total energy of the particle.
Definition: TrackParticle_v1.cxx:109
BTagJetAugmenter::m_ip3d_weightBOfTracks
AE::ConstAccessor< std::vector< float > > m_ip3d_weightBOfTracks
Definition: BTagJetAugmenter.h:66
BTagJetAugmenter::m_secondaryVtx_isDefaults
AE::Decorator< char > m_secondaryVtx_isDefaults
Definition: BTagJetAugmenter.h:90
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
BTagJetAugmenter::m_DMeson_m
AE::Decorator< float > m_DMeson_m
Definition: BTagJetAugmenter.h:101
BTagJetAugmenter::m_flipConfig
FlipTagConfig m_flipConfig
Definition: BTagJetAugmenter.h:108
BTagJetAugmenter::m_ip3d_cu
AE::Decorator< float > m_ip3d_cu
Definition: BTagJetAugmenter.h:72
LArCellConditions.sv
bool sv
Definition: LArCellConditions.py:45
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
xAOD::numberOfSCTHits
@ numberOfSCTHits
number of hits in SCT [unit8_t].
Definition: TrackingPrimitives.h:268
BTagJetAugmenter::m_jf_isDefaults
AE::Decorator< char > m_jf_isDefaults
Definition: BTagJetAugmenter.h:82
BTagJetAugmenter::m_sv1_isDefaults
AE::Decorator< char > m_sv1_isDefaults
Definition: BTagJetAugmenter.h:87
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
BTagJetAugmenter::m_secondaryVtx_max_trk_flightDirRelEta
AE::Decorator< float > m_secondaryVtx_max_trk_flightDirRelEta
Definition: BTagJetAugmenter.h:98
COOLRates.target
target
Definition: COOLRates.py:1106
BTagJetAugmenter::m_secondaryVtx_EFrac
AE::Decorator< float > m_secondaryVtx_EFrac
Definition: BTagJetAugmenter.h:94
BTagJetAugmenter::m_max_trk_flightDirRelEta
AE::Decorator< float > m_max_trk_flightDirRelEta
Definition: BTagJetAugmenter.h:105
xAOD::Jet_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
Definition: Jet_v1.cxx:44
BTagJetAugmenter::safelog_prob
float safelog_prob(float p_up, float p_down) const
Definition: BTagJetAugmenter.cxx:190
BTagJetAugmenter::m_DMeson_isDefaults
AE::Decorator< char > m_DMeson_isDefaults
Definition: BTagJetAugmenter.h:102
BTagJetAugmenter::m_jf_deltaPhi
AE::ConstAccessor< float > m_jf_deltaPhi
Definition: BTagJetAugmenter.h:77
BTagJetAugmenter::m_jetLink
AE::ConstAccessor< ElementLink< xAOD::JetContainer > > m_jetLink
Definition: BTagJetAugmenter.h:48
BTagJetAugmenter::m_jf_fittedPosition
AE::ConstAccessor< std::vector< float > > m_jf_fittedPosition
Definition: BTagJetAugmenter.h:78
python.trfValidateRootFile.rc
rc
Definition: trfValidateRootFile.py:357
BTagJetAugmenter::m_useIpxd
bool m_useIpxd
Definition: BTagJetAugmenter.h:109
BTagJetAugmenter::m_avg_trk_flightDirRelEta
AE::Decorator< float > m_avg_trk_flightDirRelEta
Definition: BTagJetAugmenter.h:106