ATLAS Offline Software
TauJet_v1.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // $Id: TauJet_v1.cxx 740338 2016-04-14 16:03:58Z griffith $
6 
7 
8 // System include(s):
9 extern "C" {
10 # include <cstdint>
11 }
12 #include <bitset>
13 
14 // EDM include(s):
16 
17 // Local include(s):
20 #include "TauJetAccessors_v1.h"
21 
22 namespace xAOD {
23 
25  : IParticle() {
26  }
27 
28 
33 
34 
35  //primitive setters and getters for jetseed 4-vector
36  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, ptJetSeed)
37  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaJetSeed)
38  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiJetSeed)
39  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mJetSeed)
40 
41  //primitive setters and getters for jetseed 4-vector
43  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaDetectorAxis)
44  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiDetectorAxis)
45  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mDetectorAxis)
46 
47  //primitive setters and getters for IntermediateAxis 4-vector
49  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaIntermediateAxis)
50  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiIntermediateAxis)
51  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mIntermediateAxis)
52 
53  //primitive setters and getters for TauEnergyScale 4-vector
54  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, ptTauEnergyScale)
55  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaTauEnergyScale)
56  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiTauEnergyScale)
57  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mTauEnergyScale)
58 
59  //primitive setters and getters for jetseed 4-vector
60  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, ptTauEtaCalib)
61  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaTauEtaCalib)
62  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiTauEtaCalib)
63  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mTauEtaCalib)
64 
65  // //primitive setters and getters for jetseed 4-vector
66  // AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, ptPanTauEFlowRecProto)
67  // AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaPanTauEFlowRecProto)
68  // AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiPanTauEFlowRecProto)
69  // AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mPanTauEFlowRecProto)
70 
71  // //primitive setters and getters for jetseed 4-vector
72  // AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, ptPanTauEFlowRec)
73  // AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaPanTauEFlowRec)
74  // AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiPanTauEFlowRec)
75  // AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mPanTauEFlowRec)
76 
77  //primitive setters and getters for jetseed 4-vector
78  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, ptPanTauCellBasedProto)
79  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaPanTauCellBasedProto)
80  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiPanTauCellBasedProto)
81  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mPanTauCellBasedProto)
82 
83  //primitive setters and getters for jetseed 4-vector
84  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, ptPanTauCellBased)
85  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaPanTauCellBased)
86  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiPanTauCellBased)
87  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mPanTauCellBased)
88 
89 
90  double TauJet_v1::e() const {
91  return genvecP4().E();
92  }
93 
94 
95  double TauJet_v1::rapidity() const {
96  return genvecP4().Rapidity();
97  }
98 
100  FourMom_t p4;
101  p4.SetPtEtaPhiM( pt(), eta(), phi(),m());
102  return p4;
103  }
104 
106  return GenVecFourMom_t(pt(), eta(), phi(), m());
107  }
108 
110 
111  FourMom_t p4;
112  switch(calib) {
114  p4.SetPtEtaPhiM( ptJetSeed(), etaJetSeed(), phiJetSeed(), mJetSeed());
115  break;
118  break;
121  break;
124  break;
126  p4.SetPtEtaPhiM( ptTauEtaCalib(), etaTauEtaCalib(), phiTauEtaCalib(), mTauEtaCalib());
127  break;
128  // case TauJetParameters::PanTauEFlowRecProto:
129  // p4.SetPtEtaPhiM( ptPanTauEFlowRecProto(), etaPanTauEFlowRecProto(), phiPanTauEFlowRecProto(), mPanTauEFlowRecProto());
130  // break;
131  // case TauJetParameters::PanTauEFlowRec:
132  // p4.SetPtEtaPhiM( ptPanTauEFlowRec(), etaPanTauEFlowRec(), phiPanTauEFlowRec(), mPanTauEFlowRec());
133  // break;
136  break;
139  break;
140  default:
141  p4.SetPtEtaPhiM( pt(), eta(), phi(), m());
142  }
143  return p4;
144  }
145 
147 
148  switch(calib) {
159  // case TauJetParameters::PanTauEFlowRecProto:
160  // return GenVecFourMom_t( ptPanTauEFlowRecProto(), etaPanTauEFlowRecProto(), phiPanTauEFlowRecProto(), mPanTauEFlowRecProto());
161  // case TauJetParameters::PanTauEFlowRec:
162  // return GenVecFourMom_t( ptPanTauEFlowRec(), etaPanTauEFlowRec(), phiPanTauEFlowRec(), mPanTauEFlowRec());
167  default:
168  return GenVecFourMom_t( pt(), eta(), phi(), m());
169  }
170  }
171 
172 
173  void TauJet_v1::setP4(double pt, double eta, double phi, double m) {
174  static const Accessor< float > acc1( "pt" );
175  static const Accessor< float > acc2( "eta" );
176  static const Accessor< float > acc3( "phi" );
177  static const Accessor< float > acc4( "m" );
178  acc1( *this )=pt;
179  acc2( *this )=eta;
180  acc3( *this )=phi;
181  acc4( *this )=m;
182  }
183 
184  bool TauJet_v1::setP4(const TauJetParameters::TauCalibType calib, double pt, double eta, double phi, double m) {
185  TauJetCalibTypeMapper_v1 typeMapper;
186  std::string calibString = "";
187  bool result = typeMapper.getValue(calib, calibString);
188  if (result) {
189  Accessor< float > accTauPtCalib( "pt"+calibString );
190  Accessor< float > accTauEtaCalib( "eta"+calibString );
191  Accessor< float > accTauPhiCalib( "phi"+calibString );
192  Accessor< float > accTauMCalib( "m"+calibString );
193  accTauPtCalib( *this )=pt;
194  accTauEtaCalib( *this )=eta;
195  accTauPhiCalib( *this )=phi;
196  accTauMCalib( *this )=m;
197  return true;
198  }
199  else {
200  return false;
201  }
202  }
203 
204 
206  return Type::Tau;
207  }
208 
209  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v1, unsigned int, ROIWord , setROIWord )
211 
212  //-------------------------------------------------------------------------
213  // Has discriminant
214  //-------------------------------------------------------------------------
215  bool TauJet_v1::hasDiscriminant( TauJetParameters::TauID discID ) const
216  {
217  // Get the discriminant accessor:
218  const Accessor< float >* acc = xAODTau::discriminantAccessorV1( discID );
219  return acc != nullptr;
220  }
221 
222 
223  //-------------------------------------------------------------------------
224  // Get discriminant
225  //-------------------------------------------------------------------------
227  // Get the discriminant accessor:
229  if( ! acc ) return -1111.0;
230 
231  // Retrieve the discriminant value:
232  return ( *acc )( *this );
233  }
234 
235  //-------------------------------------------------------------------------
236  // Set discriminant
237  //-------------------------------------------------------------------------
239  ( *( xAODTau::discriminantAccessorV1( discriminant ) ) )( *this ) = value;
240  return;
241  }
242 
243  //-------------------------------------------------------------------------
244  // Accept
245  //-------------------------------------------------------------------------
248  {
249  static const Accessor< uint32_t > acc( "isTauFlags" );
250  std::bitset<32> isTauFlags( acc( *this ) );
251  return isTauFlags[flag];
252  }
253 
256  {
257  static const Accessor< uint32_t > acc( "isTauFlags" );
258  std::bitset<32> isTauFlags( acc( *this ) );
259  isTauFlags[flag] = value;
260  acc( *this ) = isTauFlags.to_ulong();
261  }
262 
263  //-------------------------------------------------------------------------
264  // Veto flags accessors
265  //-------------------------------------------------------------------------
268  {
269  static const Accessor< uint32_t > acc( "vetoFlags" );
270  std::bitset<32> vetoFlags( acc( *this ) );
271  vetoFlags[flag] = value;
272  acc( *this ) = vetoFlags.to_ulong();
273  }
274 
277  {
278  static const Accessor< uint32_t > acc( "vetoFlags" );
279  std::bitset<32> vetoFlags( acc( *this ) );
280  return vetoFlags[flag];
281  }
282 
283 
284 
285  //-------------------------------------------------------------------------
286  // Get int detail via enum
287  //-------------------------------------------------------------------------
289  // Get the detail accessor:
290  const Accessor< int >* acc = xAODTau::detailsAccessorV1<int>( detail );
291  if( ! acc ) return false;
292  if( ! acc->isAvailable( *this ) ) return false;
293 
294  // Retrieve the detail value:
295  value = ( *acc )( *this );
296  return true;
297  }
298 
299  //-------------------------------------------------------------------------
300  // Get float detail via enum
301  //-------------------------------------------------------------------------
303  // Get the detail accessor:
304  const Accessor< float >* acc = xAODTau::detailsAccessorV1<float>( detail );
305  if( ! acc ) return false;
306  if( ! acc->isAvailable( *this ) ) return false;
307 
308  // Retrieve the detail value:
309  value = ( *acc )( *this );
310  return true;
311  }
312 
313  //-------------------------------------------------------------------------
314  // Set int detail via enum
315  //-------------------------------------------------------------------------
317  ( *( xAODTau::detailsAccessorV1<int>( detail ) ) )( *this ) = value;
318  }
319 
320  //-------------------------------------------------------------------------
321  // Set float detail via enum
322  //-------------------------------------------------------------------------
324  ( *( xAODTau::detailsAccessorV1<float>( detail ) ) )( *this ) = value;
325  }
326 
327 
328  //-------------------------------------------------------------------------
329  // Get int panTauDetail via enum
330  //-------------------------------------------------------------------------
332  // Get the panTauDetail accessor:
333  const Accessor< int >* acc = xAODTau::panTauDetailsAccessorV1<int>( panTauDetail );
334  if( ! acc ) return false;
335  if( ! acc->isAvailable( *this ) ) return false;
336 
337  // Retrieve the panTauDetail value:
338  value = ( *acc )( *this );
339  return true;
340  }
341 
342  //-------------------------------------------------------------------------
343  // Get float panTauDetail via enum
344  //-------------------------------------------------------------------------
345  bool TauJet_v1::panTauDetail( TauJetParameters::PanTauDetails panTauDetail, float& value ) const {
346  // Get the panTauDetail accessor:
347  const Accessor< float >* acc = xAODTau::panTauDetailsAccessorV1<float>( panTauDetail );
348  if( ! acc ) return false;
349  if( ! acc->isAvailable( *this ) ) return false;
350 
351  // Retrieve the panTauDetail value:
352  value = ( *acc )( *this );
353  return true;
354  }
355 
356  //-------------------------------------------------------------------------
357  // Set int panTauDetail via enum
358  //-------------------------------------------------------------------------
360  ( *( xAODTau::panTauDetailsAccessorV1<int>( panTauDetail ) ) )( *this ) = value;
361  }
362 
363  //-------------------------------------------------------------------------
364  // Set float panTauDetail via enum
365  //-------------------------------------------------------------------------
367  ( *( xAODTau::panTauDetailsAccessorV1<float>( panTauDetail ) ) )( *this ) = value;
368  }
369 
370 
371 
372 
373 
374 
375  // setters and getters for the track links
378  trackLinks,
379  setTrackLinks )
380 
381  static const SG::AuxElement::Accessor< TauJet_v1::TrackParticleLinks_t > trackAcc( "trackLinks" );
382 
383  const TrackParticle* TauJet_v1::track( size_t i ) const {
384  return ( *trackAcc( *this )[ i ] );
385  }
386 
387  size_t TauJet_v1::nTracks() const {
388  return trackAcc( *this ).size();
389  }
390 
392 
393  trackAcc( *this ).push_back( tr );
394  return;
395  }
396 
398  trackAcc( *this ).clear();
399  return;
400  }
401 
402 
403  int TauJet_v1::trackFilterPass(unsigned int numTrack) const
404  {
405  static const Accessor< std::vector <int > > trackPassAcc("trackFilterPass");
406  const std::vector<int>& vec=trackPassAcc(*this);
407  if (vec.size()<numTrack+1)
408  return -999;
409  else
410  return vec[numTrack];
411  }
412 
413  void TauJet_v1::setTrackFilterPass(unsigned int numTrack, int pass)
414  {
415  static const Accessor< std::vector <int > > trackPassAcc("trackFilterPass");
416  std::vector<int>& vec=trackPassAcc(*this);
417  if (vec.size()<numTrack+1)
418  vec.resize(numTrack+1);
419  vec[numTrack]=pass;
420  }
421 
422 
423  //setter and getter for trackfilterprongs
424  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v1, int, trackFilterProngs , setTrackFilterProngs )
425  //setter and getter for trackfilterquality
426  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v1, int, trackFilterQuality , setTrackFilterQuality )
427  //setter and getter for pi0ConeDR
428  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v1, float, pi0ConeDR , setPi0ConeDR )
429 
430 
431 
432  float TauJet_v1::trackEtaStrip(unsigned int numTrack) const
433  {
434  static const Accessor< std::vector <float > > trackEtaStripAcc("trackEtaStrip");
435  const std::vector<float>& vec=trackEtaStripAcc(*this);
436  if (vec.size()<numTrack+1)
437  return -999.0;
438  else
439  return vec[numTrack];
440  }
441 
442  void TauJet_v1::setTrackEtaStrip(unsigned int numTrack, float eta)
443  {
444  static const Accessor< std::vector <float > > trackEtaStripAcc("trackEtaStrip");
445  std::vector<float>& vec=trackEtaStripAcc(*this);
446  if (vec.size()<numTrack+1)
447  vec.resize(numTrack+1);
448  vec[numTrack]=eta;
449  }
450 
451 
452  float TauJet_v1::trackPhiStrip(unsigned int numTrack) const
453  {
454  static const Accessor< std::vector <float > > trackPhiStripAcc("trackPhiStrip");
455  const std::vector<float>& vec=trackPhiStripAcc(*this);
456  if (vec.size()<numTrack+1)
457  return -999.0;
458  else
459  return vec[numTrack];
460  }
461 
462  void TauJet_v1::setTrackPhiStrip(unsigned int numTrack, float phi)
463  {
464  static const Accessor< std::vector <float > > trackPhiStripAcc("trackPhiStrip");
465  std::vector<float>& vec=trackPhiStripAcc(*this);
466  if (vec.size()<numTrack+1)
467  vec.resize(numTrack+1);
468  vec[numTrack]=phi;
469  }
470 
471 
472 
473  // setters and getters for the conversion track links
476  conversionTrackLinks,
477  setConversionTrackLinks )
478 
479  static const SG::AuxElement::Accessor< TauJet_v1::TrackParticleLinks_t > convTrackAcc( "conversionTrackLinks" );
480 
481  const TrackParticle* TauJet_v1::conversionTrack( size_t i ) const {
482  return ( *convTrackAcc( *this )[ i ] );
483  }
484 
486  return convTrackAcc( *this ).size();
487  }
488 
490 
491  convTrackAcc( *this ).push_back( tr );
492  return;
493  }
494 
496  convTrackAcc( *this ).clear();
497  return;
498  }
499 
500  // setters and getters for the wide track links
503  wideTrackLinks,
504  setWideTrackLinks )
505 
506  static const SG::AuxElement::Accessor< TauJet_v1::TrackParticleLinks_t > wideTrackAcc( "wideTrackLinks" );
507 
508  const TrackParticle* TauJet_v1::wideTrack( size_t i ) const {
509  return ( *wideTrackAcc( *this )[ i ] );
510  }
511 
512  size_t TauJet_v1::nWideTracks() const {
513  return wideTrackAcc( *this ).size();
514  }
515 
517 
518  wideTrackAcc( *this ).push_back( tr );
519  return;
520  }
521 
523  wideTrackAcc( *this ).clear();
524  return;
525  }
526 
527  // setters and getters for the other track links
530  otherTrackLinks,
531  setOtherTrackLinks )
532 
533  static const SG::AuxElement::Accessor< TauJet_v1::TrackParticleLinks_t > otherTrackAcc( "otherTrackLinks" );
534 
535  const TrackParticle* TauJet_v1::otherTrack( size_t i ) const {
536  return ( *otherTrackAcc( *this )[ i ] );
537  }
538 
539  size_t TauJet_v1::nOtherTracks() const {
540  return otherTrackAcc( *this ).size();
541  }
542 
544 
545  otherTrackAcc( *this ).push_back( tr );
546  return;
547  }
548 
550  otherTrackAcc( *this ).clear();
551  return;
552  }
553 
557  jetLink,
558  setJetLink )
559 
560  static const SG::AuxElement::Accessor< TauJet_v1::JetLink_t > jetAcc( "jetLink" );
561 
562  const Jet* TauJet_v1::jet() const {
563  return ( *jetAcc( *this ) );
564  }
565 
566 
567  void TauJet_v1::setJet( const xAOD::JetContainer *cont, const xAOD::Jet *jet) {
568  if( jetAcc( *this ).isValid() )
569  jetAcc( *this ).reset();
570  jetAcc( *this ).toContainedElement( *cont, jet );
571  }
572 
573 
574 
578  vertexLink,
579  setVertexLink )
580 
581  static const SG::AuxElement::Accessor< TauJet_v1::VertexLink_t > vertexAcc( "vertexLink" );
582 
583  const Vertex* TauJet_v1::vertex() const {
584  return ( *vertexAcc( *this ) );
585  }
586 
587 
589  if( vertexAcc( *this ).isValid() )
590  vertexAcc( *this ).reset();
591  vertexAcc( *this ).toContainedElement( *cont, vertex );
592  }
593 
594 
595 
599  secondaryVertexLink,
600  setSecondaryVertexLink )
601 
602  static const SG::AuxElement::Accessor< TauJet_v1::VertexLink_t > secondaryVertexAcc( "secondaryVertexLink" );
603 
604  const Vertex* TauJet_v1::secondaryVertex() const {
605  return ( *secondaryVertexAcc( *this ) );
606  }
607 
608 
610  if( secondaryVertexAcc( *this ).isValid() )
611  secondaryVertexAcc( *this ).reset();
612  secondaryVertexAcc( *this ).toContainedElement( *cont, vertex );
613  }
614 
615 
616 
617 
619  // setters and getters for the hadronic PFO links
622  hadronic_PFOLinks,
623  setHadronic_PFOLinks )
624 
625 
626 
627  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > hadronic_PFOAcc( "hadronic_PFOLinks" );
628 
629  const PFO* TauJet_v1::hadronic_PFO( size_t i ) const {
630  return ( *hadronic_PFOAcc( *this )[ i ] );
631  }
632 
633  size_t TauJet_v1::nHadronic_PFOs() const {
634  return hadronic_PFOAcc( *this ).size();
635  }
636 
638 
639  hadronic_PFOAcc( *this ).push_back( pfo );
640  return;
641  }
642 
644  hadronic_PFOAcc( *this ).clear();
645  return;
646  }
647 
648  // setters and getters for the shot PFO links
651  shot_PFOLinks,
652  setShot_PFOLinks )
653 
654 
655 
656  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > shot_PFOAcc( "shot_PFOLinks" );
657 
658  const PFO* TauJet_v1::shot_PFO( size_t i ) const {
659  return ( *shot_PFOAcc( *this )[ i ] );
660  }
661 
662  size_t TauJet_v1::nShot_PFOs() const {
663  return shot_PFOAcc( *this ).size();
664  }
665 
667 
668  shot_PFOAcc( *this ).push_back( pfo );
669  return;
670  }
671 
673  shot_PFOAcc( *this ).clear();
674  return;
675  }
676 
677 
678  // setters and getters for the charged PFO links
681  charged_PFOLinks,
682  setCharged_PFOLinks )
683 
684 
685 
686  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > charged_PFOAcc( "charged_PFOLinks" );
687 
688  const PFO* TauJet_v1::charged_PFO( size_t i ) const {
689  return ( *charged_PFOAcc( *this )[ i ] );
690  }
691 
692  size_t TauJet_v1::nCharged_PFOs() const {
693  return charged_PFOAcc( *this ).size();
694  }
695 
697 
698  charged_PFOAcc( *this ).push_back( pfo );
699  return;
700  }
701 
703  charged_PFOAcc( *this ).clear();
704  return;
705  }
706 
707 
708 
709  // setters and getters for the neutral PFO links
712  neutral_PFOLinks,
713  setNeutral_PFOLinks )
714 
715 
716 
717  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > neutral_PFOAcc( "neutral_PFOLinks" );
718 
719  const PFO* TauJet_v1::neutral_PFO( size_t i ) const {
720  return ( *neutral_PFOAcc( *this )[ i ] );
721  }
722 
723  size_t TauJet_v1::nNeutral_PFOs() const {
724  return neutral_PFOAcc( *this ).size();
725  }
726 
728 
729  neutral_PFOAcc( *this ).push_back( pfo );
730  return;
731  }
732 
734  neutral_PFOAcc( *this ).clear();
735  return;
736  }
737 
738 
739 
740  // setters and getters for the pi0 PFO links
743  pi0_PFOLinks,
744  setPi0_PFOLinks )
745 
746 
747 
748  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > pi0_PFOAcc( "pi0_PFOLinks" );
749 
750  const PFO* TauJet_v1::pi0_PFO( size_t i ) const {
751  return ( *pi0_PFOAcc( *this )[ i ] );
752  }
753 
754  size_t TauJet_v1::nPi0_PFOs() const {
755  return pi0_PFOAcc( *this ).size();
756  }
757 
759 
760  pi0_PFOAcc( *this ).push_back( pfo );
761  return;
762  }
763 
765  pi0_PFOAcc( *this ).clear();
766  return;
767  }
768 
769 
770 
771 
772 
774  // setters and getters for the cellbased_charged PFO links
777  cellBased_Charged_PFOLinks,
778  setCellBased_Charged_PFOLinks )
779 
780 
781 
782  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > cellBased_Charged_PFOAcc( "cellBased_Charged_PFOLinks" );
783 
784  const PFO* TauJet_v1::cellBased_Charged_PFO( size_t i ) const {
785  return ( *cellBased_Charged_PFOAcc( *this )[ i ] );
786  }
787 
789  return cellBased_Charged_PFOAcc( *this ).size();
790  }
791 
793 
794  cellBased_Charged_PFOAcc( *this ).push_back( pfo );
795  return;
796  }
797 
799  cellBased_Charged_PFOAcc( *this ).clear();
800  return;
801  }
802 
803 
804  // setters and getters for the cellbased_neutral PFO links
807  cellBased_Neutral_PFOLinks,
808  setCellBased_Neutral_PFOLinks )
809 
810 
811 
812  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > cellBased_Neutral_PFOAcc( "cellBased_Neutral_PFOLinks" );
813 
814  const PFO* TauJet_v1::cellBased_Neutral_PFO( size_t i ) const {
815  return ( *cellBased_Neutral_PFOAcc( *this )[ i ] );
816  }
817 
819  return cellBased_Neutral_PFOAcc( *this ).size();
820  }
821 
823 
824  cellBased_Neutral_PFOAcc( *this ).push_back( pfo );
825  return;
826  }
827 
829  cellBased_Neutral_PFOAcc( *this ).clear();
830  return;
831  }
832 
833 
834 
835  // setters and getters for the cellbased_pi0 PFO links
838  cellBased_Pi0_PFOLinks,
839  setCellBased_Pi0_PFOLinks )
840 
841 
842 
843  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > cellBased_Pi0_PFOAcc( "cellBased_Pi0_PFOLinks" );
844 
845  const PFO* TauJet_v1::cellBased_Pi0_PFO( size_t i ) const {
846  return ( *cellBased_Pi0_PFOAcc( *this )[ i ] );
847  }
848 
850  return cellBased_Pi0_PFOAcc( *this ).size();
851  }
852 
854 
855  cellBased_Pi0_PFOAcc( *this ).push_back( pfo );
856  return;
857  }
858 
860  cellBased_Pi0_PFOAcc( *this ).clear();
861  return;
862  }
863 
864 
865 
866 
867 
868 
870  // setters and getters for the eflowRec_charged PFO links
873  eflowRec_Charged_PFOLinks,
874  setEflowRec_Charged_PFOLinks )
875 
876 
877 
878  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > eflowRec_Charged_PFOAcc( "eflowRec_Charged_PFOLinks" );
879 
880  const PFO* TauJet_v1::eflowRec_Charged_PFO( size_t i ) const {
881  return ( *eflowRec_Charged_PFOAcc( *this )[ i ] );
882  }
883 
885  return eflowRec_Charged_PFOAcc( *this ).size();
886  }
887 
889 
890  eflowRec_Charged_PFOAcc( *this ).push_back( pfo );
891  return;
892  }
893 
895  eflowRec_Charged_PFOAcc( *this ).clear();
896  return;
897  }
898 
899 
900  // setters and getters for the eflowRec_neutral PFO links
903  eflowRec_Neutral_PFOLinks,
904  setEflowRec_Neutral_PFOLinks )
905 
906 
907 
908  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > eflowRec_Neutral_PFOAcc( "eflowRec_Neutral_PFOLinks" );
909 
910  const PFO* TauJet_v1::eflowRec_Neutral_PFO( size_t i ) const {
911  return ( *eflowRec_Neutral_PFOAcc( *this )[ i ] );
912  }
913 
915  return eflowRec_Neutral_PFOAcc( *this ).size();
916  }
917 
919 
920  eflowRec_Neutral_PFOAcc( *this ).push_back( pfo );
921  return;
922  }
923 
925  eflowRec_Neutral_PFOAcc( *this ).clear();
926  return;
927  }
928 
929 
930 
931  // setters and getters for the eflowRec_pi0 PFO links
934  eflowRec_Pi0_PFOLinks,
935  setEflowRec_Pi0_PFOLinks )
936 
937 
938 
939  static const SG::AuxElement::Accessor< TauJet_v1::PFOLinks_t > eflowRec_Pi0_PFOAcc( "eflowRec_Pi0_PFOLinks" );
940 
941  const PFO* TauJet_v1::eflowRec_Pi0_PFO( size_t i ) const {
942  return ( *eflowRec_Pi0_PFOAcc( *this )[ i ] );
943  }
944 
946  return eflowRec_Pi0_PFOAcc( *this ).size();
947  }
948 
950 
951  eflowRec_Pi0_PFOAcc( *this ).push_back( pfo );
952  return;
953  }
954 
956  eflowRec_Pi0_PFOAcc( *this ).clear();
957  return;
958  }
959 
960 
961  void TauJet_v1::dump() const {
962  /* keep these two lines to create the template methods. Otherwise they are optimzed away
963  * later: move these two lines into a dummy method, which nobody is calling
964  */
965  std::cout << this->detail<float>(xAOD::TauJetParameters::ipSigLeadTrk) << std::endl;
966  std::cout << this->detail<int>(xAOD::TauJetParameters::numTopoClusters) << std::endl;
967  }
968 
969 } // namespace xAOD
970 
971 // LocalWords: panTauDetail mJetSeed
python.CaloBCIDAvgAlgConfig.acc3
def acc3
Definition: CaloBCIDAvgAlgConfig.py:69
xAOD::TauJet_v1::etaPanTauCellBasedProto
double etaPanTauCellBasedProto() const
xAOD::TauJet_v1::nEflowRec_Charged_PFOs
size_t nEflowRec_Charged_PFOs() const
Get the number of eflowRec_charged PFO particles associated with this tau.
Definition: TauJet_v1.cxx:884
xAOD::TauJet_v1::setVertex
void setVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
Definition: TauJet_v1.cxx:588
xAOD::AUXSTORE_PRIMITIVE_SETTER_AND_GETTER
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pb, setIP2D_pb) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1
xAOD::TauJet_v1::phiTauEnergyScale
double phiTauEnergyScale() const
xAOD::TauJet_v1::flag
bool flag(TauJetParameters::VetoFlags flag) const
Get veto flag.
Definition: TauJet_v1.cxx:275
xAOD::TauJet_v1::rapidity
virtual double rapidity() const
The true rapidity (y) of the particle.
Definition: TauJet_v1.cxx:95
get_generator_info.result
result
Definition: get_generator_info.py:21
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
xAOD::TauJet_v1::nTracks
size_t nTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v1.cxx:387
xAOD::TauJetParameters::PanTauCellBasedProto
@ PanTauCellBasedProto
Definition: TauDefs.h:343
xAOD::TauJet_v1::ptPanTauCellBasedProto
double ptPanTauCellBasedProto() const
xAOD::TauJet_v1::track
const TrackParticle * track(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v1::wideTrack
const TrackParticle * wideTrack(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJetParameters::IntermediateAxis
@ IntermediateAxis
Definition: TauDefs.h:338
xAOD::TauJet_v1::addShot_PFOLink
void addShot_PFOLink(const ElementLink< PFOContainer > &pfo)
add a shot PFO to the tau
Definition: TauJet_v1.cxx:666
xAOD::TauJetParameters::VetoFlags
VetoFlags
Enum for Veto flags.
Definition: TauDefs.h:103
xAOD::TauJet_v1::etaPanTauCellBased
double etaPanTauCellBased() const
xAOD::TauJet_v1::nEflowRec_Neutral_PFOs
size_t nEflowRec_Neutral_PFOs() const
Get the number of eflowRec_neutral PFO particles associated with this tau.
Definition: TauJet_v1.cxx:914
xAOD::float
float
Definition: BTagging_v1.cxx:168
SG::Accessor< float >
xAOD::TauJet_v1::mJetSeed
double mJetSeed() const
AuxStoreAccessorMacros.h
xAOD::TauJet_v1::etaJetSeed
double etaJetSeed() const
xAOD::TauJet_v1::etaIntermediateAxis
double etaIntermediateAxis() const
xAOD::TauJet_v1::mDetectorAxis
double mDetectorAxis() const
xAOD::TauJet_v1::PFOLinks_t
std::vector< ElementLink< xAOD::PFOContainer > > PFOLinks_t
Definition: TauJet_v1.h:328
xAOD::TauJet_v1::clearEflowRec_Charged_PFOLinks
void clearEflowRec_Charged_PFOLinks()
Remove all eflowRec_charged PFOs from the tau.
Definition: TauJet_v1.cxx:894
xAOD::TauJet_v1::addWideTrackLink
void addWideTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v1.cxx:516
xAOD::TauJet_v1::clearHadronic_PFOLinks
void clearHadronic_PFOLinks()
Remove all hadronic PFOs from the tau.
Definition: TauJet_v1.cxx:643
TauJetParameters
Definition: TauJetParameters.h:23
xAOD::TauJet_v1::addEflowRec_Charged_PFOLink
void addEflowRec_Charged_PFOLink(const ElementLink< PFOContainer > &pfo)
add a eflowRec_charged PFO to the tau
Definition: TauJet_v1.cxx:888
xAOD::TauJet_v1::eflowRec_Pi0_PFO
const PFO * eflowRec_Pi0_PFO(size_t i) const
Get the pointer to a given eflowRec_pi0 PFO associated with this tau.
xAOD::TauJet_v1::cellBased_Pi0_PFO
const PFO * cellBased_Pi0_PFO(size_t i) const
Get the pointer to a given cellbased_pi0 PFO associated with this tau.
xAOD::TauJet_v1::mTauEtaCalib
double mTauEtaCalib() const
xAOD::TauJet_v1::clearOtherTrackLinks
void clearOtherTrackLinks()
Remove all tracks from the tau.
Definition: TauJet_v1.cxx:549
xAOD::TauJet_v1::phiDetectorAxis
double phiDetectorAxis() const
athena.value
value
Definition: athena.py:124
xAOD::TauJetParameters::TauEtaCalib
@ TauEtaCalib
Definition: TauDefs.h:340
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
detail
Definition: extract_histogram_tag.cxx:14
xAOD::TauJet_v1::vertex
const Vertex * vertex() const
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
TauGNNUtils::Variables::ptIntermediateAxis
bool ptIntermediateAxis(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:348
xAOD::TauJet_v1::addCharged_PFOLink
void addCharged_PFOLink(const ElementLink< PFOContainer > &pfo)
add a charged PFO to the tau
Definition: TauJet_v1.cxx:696
xAOD::TauJet_v1::nShot_PFOs
size_t nShot_PFOs() const
Get the number of shot PFO particles associated with this tau.
Definition: TauJet_v1.cxx:662
xAOD::TauJet_v1::mPanTauCellBasedProto
double mPanTauCellBasedProto() const
xAOD::pt
setRcore setEtHad setFside pt
Definition: TrigPhoton_v1.cxx:106
xAOD::TauJetParameters::TauID
TauID
Enum for discriminants.
Definition: TauDefs.h:46
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
xAOD::TauJet_v1::isTau
bool isTau(TauJetParameters::IsTauFlag flag) const
Get Flag for tau acceptance based on predefined arbitrary criteria.
Definition: TauJet_v1.cxx:246
xAOD::TauJet_v1::nOtherTracks
size_t nOtherTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v1.cxx:539
xAOD::TauJet_v1::ptTauEnergyScale
double ptTauEnergyScale() const
xAOD::TauJet_v1::addTrackLink
void addTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v1.cxx:391
xAOD::TauJet_v1::discriminant
double discriminant(TauJetParameters::TauID discID) const
Get value of discriminant.
Definition: TauJet_v1.cxx:226
xAOD::TauJetParameters::ipSigLeadTrk
@ ipSigLeadTrk
Definition: TauDefs.h:160
xAOD::TauJetParameters::JetSeed
@ JetSeed
Definition: TauDefs.h:336
xAOD::TauJet_v1
Class describing a tau jet.
Definition: TauJet_v1.h:38
xAOD::TauJet_v1::addEflowRec_Pi0_PFOLink
void addEflowRec_Pi0_PFOLink(const ElementLink< PFOContainer > &pfo)
add a eflowRec_pi0 PFO to the tau
Definition: TauJet_v1.cxx:949
xAOD::TauJet_v1::clearShot_PFOLinks
void clearShot_PFOLinks()
Remove all shot PFOs from the tau.
Definition: TauJet_v1.cxx:672
xAOD::TauJetCalibTypeMapper_v1
Definition: TauJetCalibMapper_v1.h:15
xAOD::TauJet_v1::otherTrack
const TrackParticle * otherTrack(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v1::setTrackPhiStrip
void setTrackPhiStrip(unsigned int numTrack, float phi)
Definition: TauJet_v1.cxx:462
TauJet_v1.h
xAOD::xAODTau::discriminantAccessorV1
const SG::AuxElement::Accessor< float > * discriminantAccessorV1(xAOD::TauJetParameters::TauID discriminant)
Helper function for managing accessors to id input and output variables defined as enums in TauDefs....
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:69
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
xAOD::TauJet_v1::clearEflowRec_Pi0_PFOLinks
void clearEflowRec_Pi0_PFOLinks()
Remove all eflowRec_pi0 PFOs from the tau.
Definition: TauJet_v1.cxx:955
xAOD::TauJet_v1::addConversionTrackLink
void addConversionTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v1.cxx:489
xAOD::TauJet_v1::m
virtual double m() const
The invariant mass of the particle.
xAOD::TauJet_v1::addNeutral_PFOLink
void addNeutral_PFOLink(const ElementLink< PFOContainer > &pfo)
add a neutral PFO to the tau
Definition: TauJet_v1.cxx:727
xAOD::TauJet_v1::cellBased_Charged_PFO
const PFO * cellBased_Charged_PFO(size_t i) const
Get the pointer to a given cellbased_charged PFO associated with this tau.
xAOD::TauJet_v1::mTauEnergyScale
double mTauEnergyScale() const
xAOD::TauJetParameters::Detail
Detail
Enum for tau parameters - used mainly for backward compatibility with the analysis code.
Definition: TauDefs.h:156
xAOD::TauJet_v1::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
Definition: TauJet_v1.cxx:105
xAOD::TauJet_v1::conversionTrack
const TrackParticle * conversionTrack(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v1::ptDetectorAxis
double ptDetectorAxis() const
xAOD::TauJet_v1::clearCellBased_Neutral_PFOLinks
void clearCellBased_Neutral_PFOLinks()
Remove all cellbased_neutral PFOs from the tau.
Definition: TauJet_v1.cxx:828
xAOD::TauJet_v1::ptIntermediateAxis
double ptIntermediateAxis() const
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
xAOD::TauJet_v1::setPanTauDetail
void setPanTauDetail(TauJetParameters::PanTauDetails panTauDetail, int value)
Definition: TauJet_v1.cxx:359
xAOD::TauJetCalibTypeMapper_v1::getValue
bool getValue(TauJetParameters::TauCalibType type, std::string &stringName)
Definition: TauJetCalibMapper_v1.h:16
xAOD::TauJet_v1::mPanTauCellBased
double mPanTauCellBased() const
xAOD::TauJet_v1::addCellBased_Neutral_PFOLink
void addCellBased_Neutral_PFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_neutral PFO to the tau
Definition: TauJet_v1.cxx:822
xAOD::TauJetParameters::TauCalibType
TauCalibType
Enum for tau calib type.
Definition: TauDefs.h:335
xAOD::TauJet_v1::nPi0_PFOs
size_t nPi0_PFOs() const
Get the number of pi0 PFO particles associated with this tau.
Definition: TauJet_v1.cxx:754
lumiFormat.i
int i
Definition: lumiFormat.py:85
xAOD::TauJet_v1::setTrackFilterPass
void setTrackFilterPass(unsigned int numTrack, int pass)
Definition: TauJet_v1.cxx:413
xAOD::TauJet_v1::setSecondaryVertex
void setSecondaryVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
Definition: TauJet_v1.cxx:609
xAOD::TauJet_v1::detail
bool detail(TauJetParameters::Detail detail, int &value) const
Get and set values of common details variables via enum.
Definition: TauJet_v1.cxx:288
xAOD::TauJet_v1::setFlag
void setFlag(TauJetParameters::VetoFlags flag, bool value)
Set veto flag.
Definition: TauJet_v1.cxx:266
xAOD::TauJet_v1::ptJetSeed
double ptJetSeed() const
xAOD::e
setPy e
Definition: CompositeParticle_v1.cxx:166
python.CaloBCIDAvgAlgConfig.acc1
def acc1
Definition: CaloBCIDAvgAlgConfig.py:49
xAOD::AUXSTORE_PRIMITIVE_GETTER_WITH_CAST
AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(Muon_v1, uint8_t, Muon_v1::EnergyLossType, energyLossType) AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(Muon_v1
xAOD::charge
charge
Definition: TrigElectron_v1.cxx:85
xAOD::TauJet_v1::phiPanTauCellBased
double phiPanTauCellBased() const
xAOD::TauJet_v1::clearConversionTrackLinks
void clearConversionTrackLinks()
Remove all tracks from the tau.
Definition: TauJet_v1.cxx:495
xAOD::TauJet_v1::mIntermediateAxis
double mIntermediateAxis() const
master.flag
bool flag
Definition: master.py:29
xAOD::TauJet_v1::setDetail
void setDetail(TauJetParameters::Detail detail, int value)
Definition: TauJet_v1.cxx:316
xAOD::TauJet_v1::phiIntermediateAxis
double phiIntermediateAxis() const
xAOD::TauJet_v1::phiJetSeed
double phiJetSeed() const
xAOD::TauJet_v1::ptPanTauCellBased
double ptPanTauCellBased() const
python.CaloBCIDAvgAlgConfig.acc2
def acc2
Definition: CaloBCIDAvgAlgConfig.py:59
xAOD::TauJet_v1::dump
void dump() const
Definition: TauJet_v1.cxx:961
TauJetAccessors_v1.h
xAOD::TauJet_v1::etaTauEnergyScale
double etaTauEnergyScale() const
xAOD::TauJet_v1::nCellBased_Pi0_PFOs
size_t nCellBased_Pi0_PFOs() const
Get the number of cellbased_pi0 PFO particles associated with this tau.
Definition: TauJet_v1.cxx:849
xAOD::TauJetParameters::PanTauCellBased
@ PanTauCellBased
Definition: TauDefs.h:344
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
xAOD::TauJet_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
xAOD::TauJet_v1::setIsTau
void setIsTau(TauJetParameters::IsTauFlag flag, bool value)
Set Flag for tau acceptance based on predefined arbitrary criteria.
Definition: TauJet_v1.cxx:254
xAOD::TauJet_v1::setDiscriminant
void setDiscriminant(TauJetParameters::TauID discID, double disc)
Set value of discriminant.
Definition: TauJet_v1.cxx:238
xAOD::TauJetParameters::numTopoClusters
@ numTopoClusters
get number of topocluster constituents of jet associated to tau candidate
Definition: TauDefs.h:173
xAOD::TauJet_v1::nEflowRec_Pi0_PFOs
size_t nEflowRec_Pi0_PFOs() const
Get the number of eflowRec_pi0 PFO particles associated with this tau.
Definition: TauJet_v1.cxx:945
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
python.LArRecUtilsConfig.acc4
def acc4
Definition: LArRecUtilsConfig.py:196
xAOD::TauJet_v1::nCellBased_Charged_PFOs
size_t nCellBased_Charged_PFOs() const
Get the number of cellbased_charged PFO particles associated with this tau.
Definition: TauJet_v1.cxx:788
xAOD::TauJet_v1::clearCellBased_Pi0_PFOLinks
void clearCellBased_Pi0_PFOLinks()
Remove all cellbased_pi0 PFOs from the tau.
Definition: TauJet_v1.cxx:859
xAOD::TauJetParameters::TauEnergyScale
@ TauEnergyScale
Definition: TauDefs.h:339
xAOD::TauJet_v1::panTauDetail
bool panTauDetail(TauJetParameters::PanTauDetails panTauDetail, int &value) const
Get and set values of pantau details variables via enum.
Definition: TauJet_v1.cxx:331
PFO
Definition: ClusterMomentPlots.h:13
xAOD::TauJet_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
xAOD::TauJet_v1::nWideTracks
size_t nWideTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v1.cxx:512
xAOD::TauJet_v1::jet
const Jet * jet() const
xAOD::TauJet_v1::etaTauEtaCalib
double etaTauEtaCalib() const
TauJetParameters::discriminant
@ discriminant
Definition: TauJetParameters.h:166
xAOD::TauJet_v1::eflowRec_Charged_PFO
const PFO * eflowRec_Charged_PFO(size_t i) const
Get the pointer to a given eflowRec_charged PFO associated with this tau.
xAOD::TauJet_v1::TauJet_v1
TauJet_v1()
Default constructor.
Definition: TauJet_v1.cxx:24
xAOD::TauJet_v1::cellBased_Neutral_PFO
const PFO * cellBased_Neutral_PFO(size_t i) const
Get the pointer to a given cellbased_neutral PFO associated with this tau.
xAOD::TauJet_v1::clearWideTrackLinks
void clearWideTrackLinks()
Remove all tracks from the tau.
Definition: TauJet_v1.cxx:522
xAOD::TauJet_v1::addOtherTrackLink
void addOtherTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v1.cxx:543
xAOD::TauJet_v1::TrackParticleLinks_t
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
Definition: TauJet_v1.h:238
xAOD::TauJet_v1::shot_PFO
const PFO * shot_PFO(size_t i) const
Get the pointer to a given shot PFO associated with this tau.
xAOD::TauJet_v1::clearTrackLinks
void clearTrackLinks()
Remove all tracks from the tau.
Definition: TauJet_v1.cxx:397
xAOD::TauJet_v1::addEflowRec_Neutral_PFOLink
void addEflowRec_Neutral_PFOLink(const ElementLink< PFOContainer > &pfo)
add a eflowRec_neutral PFO to the tau
Definition: TauJet_v1.cxx:918
xAOD::TauJet_v1::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
Definition: TauJet_v1.cxx:205
PlotSFuncertainty.calib
calib
Definition: PlotSFuncertainty.py:110
xAOD::TauJet_v1::phiTauEtaCalib
double phiTauEtaCalib() const
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
xAOD::TauJet_v1::clearCharged_PFOLinks
void clearCharged_PFOLinks()
Remove all charged PFOs from the tau.
Definition: TauJet_v1.cxx:702
xAOD::TauJet_v1::setJet
void setJet(const xAOD::JetContainer *cont, const xAOD::Jet *jet)
Definition: TauJet_v1.cxx:567
xAOD::TauJet_v1::etaDetectorAxis
double etaDetectorAxis() const
xAOD::TauJet_v1::setTrackEtaStrip
void setTrackEtaStrip(unsigned int numTrack, float eta)
Definition: TauJet_v1.cxx:442
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
xAOD::TauJet_v1::neutral_PFO
const PFO * neutral_PFO(size_t i) const
Get the pointer to a given neutral PFO associated with this tau.
TauJetCalibMapper_v1.h
xAOD::TauJet_v1::clearNeutral_PFOLinks
void clearNeutral_PFOLinks()
Remove all neutral PFOs from the tau.
Definition: TauJet_v1.cxx:733
xAOD::TauJetParameters::PanTauDetails
PanTauDetails
Enum for tau details (scalar) calculated by pantau.
Definition: TauDefs.h:355
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
xAOD::TauJet_v1::addPi0_PFOLink
void addPi0_PFOLink(const ElementLink< PFOContainer > &pfo)
add a pi0 PFO to the tau
Definition: TauJet_v1.cxx:758
xAOD::TauJet_v1::addHadronic_PFOLink
void addHadronic_PFOLink(const ElementLink< PFOContainer > &pfo)
add a hadronic PFO to the tau
Definition: TauJet_v1.cxx:637
xAOD::TauJet_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
xAOD::TauJet_v1::nCellBased_Neutral_PFOs
size_t nCellBased_Neutral_PFOs() const
Get the number of cellbased_neutral PFO particles associated with this tau.
Definition: TauJet_v1.cxx:818
xAOD::TauJet_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: TauJet_v1.cxx:99
xAOD::TauJet_v1::hadronic_PFO
const PFO * hadronic_PFO(size_t i) const
Get the pointer to a given hadronic PFO associated with this tau.
xAOD::TauJet_v1::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
Definition: TauJet_v1.h:66
xAOD::TauJetParameters::IsTauFlag
IsTauFlag
Enum for IsTau flags.
Definition: TauDefs.h:116
xAOD::TauJet_v1::eflowRec_Neutral_PFO
const PFO * eflowRec_Neutral_PFO(size_t i) const
Get the pointer to a given eflowRec_neutral PFO associated with this tau.
xAOD::TauJet_v1::ptTauEtaCalib
double ptTauEtaCalib() const
xAODType::Tau
@ Tau
The object is a tau (jet)
Definition: ObjectType.h:49
xAOD::TauJet_v1::charged_PFO
const PFO * charged_PFO(size_t i) const
Get the pointer to a given charged PFO associated with this tau.
xAOD::TauJet_v1::nConversionTracks
size_t nConversionTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v1.cxx:485
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
xAOD::TauJetParameters::DetectorAxis
@ DetectorAxis
Definition: TauDefs.h:337
xAOD::TauJet_v1::nCharged_PFOs
size_t nCharged_PFOs() const
Get the number of charged PFO particles associated with this tau.
Definition: TauJet_v1.cxx:692
TauGNNUtils::Variables::ptDetectorAxis
bool ptDetectorAxis(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:343
xAOD::TauJet_v1::trackPhiStrip
float trackPhiStrip(unsigned int numTrack) const
Definition: TauJet_v1.cxx:452
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition: ObjectType.h:32
xAOD::TauJet_v1::clearCellBased_Charged_PFOLinks
void clearCellBased_Charged_PFOLinks()
Remove all cellbased_charged PFOs from the tau.
Definition: TauJet_v1.cxx:798
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
xAOD::TauJet_v1::addCellBased_Pi0_PFOLink
void addCellBased_Pi0_PFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_pi0 PFO to the tau
Definition: TauJet_v1.cxx:853
xAOD::TauJet_v1::pi0_PFO
const PFO * pi0_PFO(size_t i) const
Get the pointer to a given pi0 PFO associated with this tau.
xAOD::TauJet_v1::trackFilterPass
int trackFilterPass(unsigned int numTrack) const
Definition: TauJet_v1.cxx:403
xAOD::TauJet_v1::addCellBased_Charged_PFOLink
void addCellBased_Charged_PFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_charged PFO to the tau
Definition: TauJet_v1.cxx:792
xAOD::TauJet_v1::clearPi0_PFOLinks
void clearPi0_PFOLinks()
Remove all pi0 PFOs from the tau.
Definition: TauJet_v1.cxx:764
xAOD::TauJet_v1::clearEflowRec_Neutral_PFOLinks
void clearEflowRec_Neutral_PFOLinks()
Remove all eflowRec_neutral PFOs from the tau.
Definition: TauJet_v1.cxx:924
xAOD::TauJet_v1::nNeutral_PFOs
size_t nNeutral_PFOs() const
Get the number of neutral PFO particles associated with this tau.
Definition: TauJet_v1.cxx:723
xAOD::TauJet_v1::setP4
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
Definition: TauJet_v1.cxx:173
xAOD::TauJet_v1::nHadronic_PFOs
size_t nHadronic_PFOs() const
Get the number of hadronic PFO particles associated with this tau.
Definition: TauJet_v1.cxx:633
xAOD::AUXSTORE_OBJECT_SETTER_AND_GETTER
AUXSTORE_OBJECT_SETTER_AND_GETTER(CaloRings_v1, RingSetLinks, ringSetLinks, setRingSetLinks) unsigned CaloRings_v1
Definition: CaloRings_v1.cxx:27
xAOD::TauJet_v1::phiPanTauCellBasedProto
double phiPanTauCellBasedProto() const
xAOD::TauJet_v1::secondaryVertex
const Vertex * secondaryVertex() const