ATLAS Offline Software
TauJet_v1.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 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, ptPanTauCellBasedProto)
67  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaPanTauCellBasedProto)
68  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiPanTauCellBasedProto)
69  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mPanTauCellBasedProto)
70 
71  //primitive setters and getters for jetseed 4-vector
72  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, ptPanTauCellBased)
73  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, etaPanTauCellBased)
74  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, phiPanTauCellBased)
75  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v1, float, double, mPanTauCellBased)
76 
77 
78  double TauJet_v1::e() const {
79  return genvecP4().E();
80  }
81 
82 
83  double TauJet_v1::rapidity() const {
84  return genvecP4().Rapidity();
85  }
86 
88  FourMom_t p4;
89  p4.SetPtEtaPhiM( pt(), eta(), phi(),m());
90  return p4;
91  }
92 
94  return GenVecFourMom_t(pt(), eta(), phi(), m());
95  }
96 
98 
99  FourMom_t p4;
100  switch(calib) {
102  p4.SetPtEtaPhiM( ptJetSeed(), etaJetSeed(), phiJetSeed(), mJetSeed());
103  break;
106  break;
109  break;
112  break;
114  p4.SetPtEtaPhiM( ptTauEtaCalib(), etaTauEtaCalib(), phiTauEtaCalib(), mTauEtaCalib());
115  break;
118  break;
121  break;
122  default:
123  p4.SetPtEtaPhiM( pt(), eta(), phi(), m());
124  }
125  return p4;
126  }
127 
129 
130  switch(calib) {
145  default:
146  return GenVecFourMom_t( pt(), eta(), phi(), m());
147  }
148  }
149 
150 
151  void TauJet_v1::setP4(double pt, double eta, double phi, double m) {
152  static const Accessor< float > acc1( "pt" );
153  static const Accessor< float > acc2( "eta" );
154  static const Accessor< float > acc3( "phi" );
155  static const Accessor< float > acc4( "m" );
156  acc1( *this )=pt;
157  acc2( *this )=eta;
158  acc3( *this )=phi;
159  acc4( *this )=m;
160  }
161 
162  bool TauJet_v1::setP4(const TauJetParameters::TauCalibType calib, double pt, double eta, double phi, double m) {
163  TauJetCalibTypeMapper_v1 typeMapper;
164  std::string calibString = "";
165  bool result = typeMapper.getValue(calib, calibString);
166  if (result) {
167  Accessor< float > accTauPtCalib( "pt"+calibString );
168  Accessor< float > accTauEtaCalib( "eta"+calibString );
169  Accessor< float > accTauPhiCalib( "phi"+calibString );
170  Accessor< float > accTauMCalib( "m"+calibString );
171  accTauPtCalib( *this )=pt;
172  accTauEtaCalib( *this )=eta;
173  accTauPhiCalib( *this )=phi;
174  accTauMCalib( *this )=m;
175  return true;
176  }
177  else {
178  return false;
179  }
180  }
181 
182 
184  return Type::Tau;
185  }
186 
187  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v1, unsigned int, ROIWord , setROIWord )
189 
190  //-------------------------------------------------------------------------
191  // Has discriminant
192  //-------------------------------------------------------------------------
193  bool TauJet_v1::hasDiscriminant( TauJetParameters::TauID discID ) const
194  {
195  // Get the discriminant accessor:
196  const Accessor< float >* acc = xAODTau::discriminantAccessorV1( discID );
197  return acc != nullptr;
198  }
199 
200 
201  //-------------------------------------------------------------------------
202  // Get discriminant
203  //-------------------------------------------------------------------------
205  // Get the discriminant accessor:
207  if( ! acc ) return -1111.0;
208 
209  // Retrieve the discriminant value:
210  return ( *acc )( *this );
211  }
212 
213  //-------------------------------------------------------------------------
214  // Set discriminant
215  //-------------------------------------------------------------------------
217  ( *( xAODTau::discriminantAccessorV1( discriminant ) ) )( *this ) = value;
218  return;
219  }
220 
221  //-------------------------------------------------------------------------
222  // Accept
223  //-------------------------------------------------------------------------
226  {
227  static const Accessor< uint32_t > acc( "isTauFlags" );
228  std::bitset<32> isTauFlags( acc( *this ) );
229  return isTauFlags[flag];
230  }
231 
234  {
235  static const Accessor< uint32_t > acc( "isTauFlags" );
236  std::bitset<32> isTauFlags( acc( *this ) );
237  isTauFlags[flag] = value;
238  acc( *this ) = isTauFlags.to_ulong();
239  }
240 
241  //-------------------------------------------------------------------------
242  // Veto flags accessors
243  //-------------------------------------------------------------------------
246  {
247  static const Accessor< uint32_t > acc( "vetoFlags" );
248  std::bitset<32> vetoFlags( acc( *this ) );
249  vetoFlags[flag] = value;
250  acc( *this ) = vetoFlags.to_ulong();
251  }
252 
255  {
256  static const Accessor< uint32_t > acc( "vetoFlags" );
257  std::bitset<32> vetoFlags( acc( *this ) );
258  return vetoFlags[flag];
259  }
260 
261 
262 
263  //-------------------------------------------------------------------------
264  // Get int detail via enum
265  //-------------------------------------------------------------------------
267  // Get the detail accessor:
268  const Accessor< int >* acc = xAODTau::detailsAccessorV1<int>( detail );
269  if( ! acc ) return false;
270  if( ! acc->isAvailable( *this ) ) return false;
271 
272  // Retrieve the detail value:
273  value = ( *acc )( *this );
274  return true;
275  }
276 
277  //-------------------------------------------------------------------------
278  // Get float detail via enum
279  //-------------------------------------------------------------------------
281  // Get the detail accessor:
282  const Accessor< float >* acc = xAODTau::detailsAccessorV1<float>( detail );
283  if( ! acc ) return false;
284  if( ! acc->isAvailable( *this ) ) return false;
285 
286  // Retrieve the detail value:
287  value = ( *acc )( *this );
288  return true;
289  }
290 
291  //-------------------------------------------------------------------------
292  // Set int detail via enum
293  //-------------------------------------------------------------------------
295  ( *( xAODTau::detailsAccessorV1<int>( detail ) ) )( *this ) = value;
296  }
297 
298  //-------------------------------------------------------------------------
299  // Set float detail via enum
300  //-------------------------------------------------------------------------
302  ( *( xAODTau::detailsAccessorV1<float>( detail ) ) )( *this ) = value;
303  }
304 
305 
306  //-------------------------------------------------------------------------
307  // Get int panTauDetail via enum
308  //-------------------------------------------------------------------------
310  // Get the panTauDetail accessor:
311  const Accessor< int >* acc = xAODTau::panTauDetailsAccessorV1<int>( panTauDetail );
312  if( ! acc ) return false;
313  if( ! acc->isAvailable( *this ) ) return false;
314 
315  // Retrieve the panTauDetail value:
316  value = ( *acc )( *this );
317  return true;
318  }
319 
320  //-------------------------------------------------------------------------
321  // Get float panTauDetail via enum
322  //-------------------------------------------------------------------------
323  bool TauJet_v1::panTauDetail( TauJetParameters::PanTauDetails panTauDetail, float& value ) const {
324  // Get the panTauDetail accessor:
325  const Accessor< float >* acc = xAODTau::panTauDetailsAccessorV1<float>( panTauDetail );
326  if( ! acc ) return false;
327  if( ! acc->isAvailable( *this ) ) return false;
328 
329  // Retrieve the panTauDetail value:
330  value = ( *acc )( *this );
331  return true;
332  }
333 
334  //-------------------------------------------------------------------------
335  // Set int panTauDetail via enum
336  //-------------------------------------------------------------------------
338  ( *( xAODTau::panTauDetailsAccessorV1<int>( panTauDetail ) ) )( *this ) = value;
339  }
340 
341  //-------------------------------------------------------------------------
342  // Set float panTauDetail via enum
343  //-------------------------------------------------------------------------
345  ( *( xAODTau::panTauDetailsAccessorV1<float>( panTauDetail ) ) )( *this ) = value;
346  }
347 
348 
349 
350 
351 
352 
353  // setters and getters for the track links
356  trackLinks,
357  setTrackLinks )
358 
359  static const SG::Accessor< TauJet_v1::TrackParticleLinks_t > trackAcc( "trackLinks" );
360 
361  const TrackParticle* TauJet_v1::track( size_t i ) const {
362  return ( *trackAcc( *this )[ i ] );
363  }
364 
365  size_t TauJet_v1::nTracks() const {
366  return trackAcc( *this ).size();
367  }
368 
370 
371  trackAcc( *this ).push_back( tr );
372  return;
373  }
374 
376  trackAcc( *this ).clear();
377  return;
378  }
379 
380 
381  int TauJet_v1::trackFilterPass(unsigned int numTrack) const
382  {
383  static const Accessor< std::vector <int > > trackPassAcc("trackFilterPass");
384  const std::vector<int>& vec=trackPassAcc(*this);
385  if (vec.size()<numTrack+1)
386  return -999;
387  else
388  return vec[numTrack];
389  }
390 
391  void TauJet_v1::setTrackFilterPass(unsigned int numTrack, int pass)
392  {
393  static const Accessor< std::vector <int > > trackPassAcc("trackFilterPass");
394  std::vector<int>& vec=trackPassAcc(*this);
395  if (vec.size()<numTrack+1)
396  vec.resize(numTrack+1);
397  vec[numTrack]=pass;
398  }
399 
400 
401  //setter and getter for trackfilterprongs
402  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v1, int, trackFilterProngs , setTrackFilterProngs )
403  //setter and getter for trackfilterquality
404  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v1, int, trackFilterQuality , setTrackFilterQuality )
405  //setter and getter for pi0ConeDR
406  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v1, float, pi0ConeDR , setPi0ConeDR )
407 
408 
409 
410  float TauJet_v1::trackEtaStrip(unsigned int numTrack) const
411  {
412  static const Accessor< std::vector <float > > trackEtaStripAcc("trackEtaStrip");
413  const std::vector<float>& vec=trackEtaStripAcc(*this);
414  if (vec.size()<numTrack+1)
415  return -999.0;
416  else
417  return vec[numTrack];
418  }
419 
420  void TauJet_v1::setTrackEtaStrip(unsigned int numTrack, float eta)
421  {
422  static const Accessor< std::vector <float > > trackEtaStripAcc("trackEtaStrip");
423  std::vector<float>& vec=trackEtaStripAcc(*this);
424  if (vec.size()<numTrack+1)
425  vec.resize(numTrack+1);
426  vec[numTrack]=eta;
427  }
428 
429 
430  float TauJet_v1::trackPhiStrip(unsigned int numTrack) const
431  {
432  static const Accessor< std::vector <float > > trackPhiStripAcc("trackPhiStrip");
433  const std::vector<float>& vec=trackPhiStripAcc(*this);
434  if (vec.size()<numTrack+1)
435  return -999.0;
436  else
437  return vec[numTrack];
438  }
439 
440  void TauJet_v1::setTrackPhiStrip(unsigned int numTrack, float phi)
441  {
442  static const Accessor< std::vector <float > > trackPhiStripAcc("trackPhiStrip");
443  std::vector<float>& vec=trackPhiStripAcc(*this);
444  if (vec.size()<numTrack+1)
445  vec.resize(numTrack+1);
446  vec[numTrack]=phi;
447  }
448 
449 
450 
451  // setters and getters for the conversion track links
454  conversionTrackLinks,
455  setConversionTrackLinks )
456 
457  static const SG::Accessor< TauJet_v1::TrackParticleLinks_t > convTrackAcc( "conversionTrackLinks" );
458 
459  const TrackParticle* TauJet_v1::conversionTrack( size_t i ) const {
460  return ( *convTrackAcc( *this )[ i ] );
461  }
462 
464  return convTrackAcc( *this ).size();
465  }
466 
468 
469  convTrackAcc( *this ).push_back( tr );
470  return;
471  }
472 
474  convTrackAcc( *this ).clear();
475  return;
476  }
477 
478  // setters and getters for the wide track links
481  wideTrackLinks,
482  setWideTrackLinks )
483 
484  static const SG::Accessor< TauJet_v1::TrackParticleLinks_t > wideTrackAcc( "wideTrackLinks" );
485 
486  const TrackParticle* TauJet_v1::wideTrack( size_t i ) const {
487  return ( *wideTrackAcc( *this )[ i ] );
488  }
489 
490  size_t TauJet_v1::nWideTracks() const {
491  return wideTrackAcc( *this ).size();
492  }
493 
495 
496  wideTrackAcc( *this ).push_back( tr );
497  return;
498  }
499 
501  wideTrackAcc( *this ).clear();
502  return;
503  }
504 
505  // setters and getters for the other track links
508  otherTrackLinks,
509  setOtherTrackLinks )
510 
511  static const SG::Accessor< TauJet_v1::TrackParticleLinks_t > otherTrackAcc( "otherTrackLinks" );
512 
513  const TrackParticle* TauJet_v1::otherTrack( size_t i ) const {
514  return ( *otherTrackAcc( *this )[ i ] );
515  }
516 
517  size_t TauJet_v1::nOtherTracks() const {
518  return otherTrackAcc( *this ).size();
519  }
520 
522 
523  otherTrackAcc( *this ).push_back( tr );
524  return;
525  }
526 
528  otherTrackAcc( *this ).clear();
529  return;
530  }
531 
535  jetLink,
536  setJetLink )
537 
538  static const SG::Accessor< TauJet_v1::JetLink_t > jetAcc( "jetLink" );
539 
540  const Jet* TauJet_v1::jet() const {
541  return ( *jetAcc( *this ) );
542  }
543 
544 
545  void TauJet_v1::setJet( const xAOD::JetContainer *cont, const xAOD::Jet *jet) {
546  if( jetAcc( *this ).isValid() )
547  jetAcc( *this ).reset();
548  jetAcc( *this ).toContainedElement( *cont, jet );
549  }
550 
551 
552 
556  vertexLink,
557  setVertexLink )
558 
559  static const SG::Accessor< TauJet_v1::VertexLink_t > vertexAcc( "vertexLink" );
560 
561  const Vertex* TauJet_v1::vertex() const {
562  return ( *vertexAcc( *this ) );
563  }
564 
565 
567  if( vertexAcc( *this ).isValid() )
568  vertexAcc( *this ).reset();
569  vertexAcc( *this ).toContainedElement( *cont, vertex );
570  }
571 
572 
573 
577  secondaryVertexLink,
578  setSecondaryVertexLink )
579 
580  static const SG::Accessor< TauJet_v1::VertexLink_t > secondaryVertexAcc( "secondaryVertexLink" );
581 
582  const Vertex* TauJet_v1::secondaryVertex() const {
583  return ( *secondaryVertexAcc( *this ) );
584  }
585 
586 
588  if( secondaryVertexAcc( *this ).isValid() )
589  secondaryVertexAcc( *this ).reset();
590  secondaryVertexAcc( *this ).toContainedElement( *cont, vertex );
591  }
592 
593 
594 
595 
597  // setters and getters for the hadronic PFO links
600  hadronic_PFOLinks,
601  setHadronic_PFOLinks )
602 
603 
604 
605  static const SG::Accessor< TauJet_v1::PFOLinks_t > hadronic_PFOAcc( "hadronic_PFOLinks" );
606 
607  const PFO* TauJet_v1::hadronic_PFO( size_t i ) const {
608  return ( *hadronic_PFOAcc( *this )[ i ] );
609  }
610 
611  size_t TauJet_v1::nHadronic_PFOs() const {
612  return hadronic_PFOAcc( *this ).size();
613  }
614 
616 
617  hadronic_PFOAcc( *this ).push_back( pfo );
618  return;
619  }
620 
622  hadronic_PFOAcc( *this ).clear();
623  return;
624  }
625 
626  // setters and getters for the shot PFO links
629  shot_PFOLinks,
630  setShot_PFOLinks )
631 
632 
633 
634  static const SG::Accessor< TauJet_v1::PFOLinks_t > shot_PFOAcc( "shot_PFOLinks" );
635 
636  const PFO* TauJet_v1::shot_PFO( size_t i ) const {
637  return ( *shot_PFOAcc( *this )[ i ] );
638  }
639 
640  size_t TauJet_v1::nShot_PFOs() const {
641  return shot_PFOAcc( *this ).size();
642  }
643 
645 
646  shot_PFOAcc( *this ).push_back( pfo );
647  return;
648  }
649 
651  shot_PFOAcc( *this ).clear();
652  return;
653  }
654 
655 
656  // setters and getters for the charged PFO links
659  charged_PFOLinks,
660  setCharged_PFOLinks )
661 
662 
663 
664  static const SG::Accessor< TauJet_v1::PFOLinks_t > charged_PFOAcc( "charged_PFOLinks" );
665 
666  const PFO* TauJet_v1::charged_PFO( size_t i ) const {
667  return ( *charged_PFOAcc( *this )[ i ] );
668  }
669 
670  size_t TauJet_v1::nCharged_PFOs() const {
671  return charged_PFOAcc( *this ).size();
672  }
673 
675 
676  charged_PFOAcc( *this ).push_back( pfo );
677  return;
678  }
679 
681  charged_PFOAcc( *this ).clear();
682  return;
683  }
684 
685 
686 
687  // setters and getters for the neutral PFO links
690  neutral_PFOLinks,
691  setNeutral_PFOLinks )
692 
693 
694 
695  static const SG::Accessor< TauJet_v1::PFOLinks_t > neutral_PFOAcc( "neutral_PFOLinks" );
696 
697  const PFO* TauJet_v1::neutral_PFO( size_t i ) const {
698  return ( *neutral_PFOAcc( *this )[ i ] );
699  }
700 
701  size_t TauJet_v1::nNeutral_PFOs() const {
702  return neutral_PFOAcc( *this ).size();
703  }
704 
706 
707  neutral_PFOAcc( *this ).push_back( pfo );
708  return;
709  }
710 
712  neutral_PFOAcc( *this ).clear();
713  return;
714  }
715 
716 
717 
718  // setters and getters for the pi0 PFO links
721  pi0_PFOLinks,
722  setPi0_PFOLinks )
723 
724 
725 
726  static const SG::Accessor< TauJet_v1::PFOLinks_t > pi0_PFOAcc( "pi0_PFOLinks" );
727 
728  const PFO* TauJet_v1::pi0_PFO( size_t i ) const {
729  return ( *pi0_PFOAcc( *this )[ i ] );
730  }
731 
732  size_t TauJet_v1::nPi0_PFOs() const {
733  return pi0_PFOAcc( *this ).size();
734  }
735 
737 
738  pi0_PFOAcc( *this ).push_back( pfo );
739  return;
740  }
741 
743  pi0_PFOAcc( *this ).clear();
744  return;
745  }
746 
747 
748 
749 
750 
752  // setters and getters for the cellbased_charged PFO links
755  cellBased_Charged_PFOLinks,
756  setCellBased_Charged_PFOLinks )
757 
758 
759 
760  static const SG::Accessor< TauJet_v1::PFOLinks_t > cellBased_Charged_PFOAcc( "cellBased_Charged_PFOLinks" );
761 
762  const PFO* TauJet_v1::cellBased_Charged_PFO( size_t i ) const {
763  return ( *cellBased_Charged_PFOAcc( *this )[ i ] );
764  }
765 
767  return cellBased_Charged_PFOAcc( *this ).size();
768  }
769 
771 
772  cellBased_Charged_PFOAcc( *this ).push_back( pfo );
773  return;
774  }
775 
777  cellBased_Charged_PFOAcc( *this ).clear();
778  return;
779  }
780 
781 
782  // setters and getters for the cellbased_neutral PFO links
785  cellBased_Neutral_PFOLinks,
786  setCellBased_Neutral_PFOLinks )
787 
788 
789 
790  static const SG::Accessor< TauJet_v1::PFOLinks_t > cellBased_Neutral_PFOAcc( "cellBased_Neutral_PFOLinks" );
791 
792  const PFO* TauJet_v1::cellBased_Neutral_PFO( size_t i ) const {
793  return ( *cellBased_Neutral_PFOAcc( *this )[ i ] );
794  }
795 
797  return cellBased_Neutral_PFOAcc( *this ).size();
798  }
799 
801 
802  cellBased_Neutral_PFOAcc( *this ).push_back( pfo );
803  return;
804  }
805 
807  cellBased_Neutral_PFOAcc( *this ).clear();
808  return;
809  }
810 
811 
812 
813  // setters and getters for the cellbased_pi0 PFO links
816  cellBased_Pi0_PFOLinks,
817  setCellBased_Pi0_PFOLinks )
818 
819 
820 
821  static const SG::Accessor< TauJet_v1::PFOLinks_t > cellBased_Pi0_PFOAcc( "cellBased_Pi0_PFOLinks" );
822 
823  const PFO* TauJet_v1::cellBased_Pi0_PFO( size_t i ) const {
824  return ( *cellBased_Pi0_PFOAcc( *this )[ i ] );
825  }
826 
828  return cellBased_Pi0_PFOAcc( *this ).size();
829  }
830 
832 
833  cellBased_Pi0_PFOAcc( *this ).push_back( pfo );
834  return;
835  }
836 
838  cellBased_Pi0_PFOAcc( *this ).clear();
839  return;
840  }
841 
842 
843 
844 
845 
846 
848  // setters and getters for the eflowRec_charged PFO links
851  eflowRec_Charged_PFOLinks,
852  setEflowRec_Charged_PFOLinks )
853 
854 
855 
856  static const SG::Accessor< TauJet_v1::PFOLinks_t > eflowRec_Charged_PFOAcc( "eflowRec_Charged_PFOLinks" );
857 
858  const PFO* TauJet_v1::eflowRec_Charged_PFO( size_t i ) const {
859  return ( *eflowRec_Charged_PFOAcc( *this )[ i ] );
860  }
861 
863  return eflowRec_Charged_PFOAcc( *this ).size();
864  }
865 
867 
868  eflowRec_Charged_PFOAcc( *this ).push_back( pfo );
869  return;
870  }
871 
873  eflowRec_Charged_PFOAcc( *this ).clear();
874  return;
875  }
876 
877 
878  // setters and getters for the eflowRec_neutral PFO links
881  eflowRec_Neutral_PFOLinks,
882  setEflowRec_Neutral_PFOLinks )
883 
884 
885 
886  static const SG::Accessor< TauJet_v1::PFOLinks_t > eflowRec_Neutral_PFOAcc( "eflowRec_Neutral_PFOLinks" );
887 
888  const PFO* TauJet_v1::eflowRec_Neutral_PFO( size_t i ) const {
889  return ( *eflowRec_Neutral_PFOAcc( *this )[ i ] );
890  }
891 
893  return eflowRec_Neutral_PFOAcc( *this ).size();
894  }
895 
897 
898  eflowRec_Neutral_PFOAcc( *this ).push_back( pfo );
899  return;
900  }
901 
903  eflowRec_Neutral_PFOAcc( *this ).clear();
904  return;
905  }
906 
907 
908 
909  // setters and getters for the eflowRec_pi0 PFO links
912  eflowRec_Pi0_PFOLinks,
913  setEflowRec_Pi0_PFOLinks )
914 
915 
916 
917  static const SG::Accessor< TauJet_v1::PFOLinks_t > eflowRec_Pi0_PFOAcc( "eflowRec_Pi0_PFOLinks" );
918 
919  const PFO* TauJet_v1::eflowRec_Pi0_PFO( size_t i ) const {
920  return ( *eflowRec_Pi0_PFOAcc( *this )[ i ] );
921  }
922 
924  return eflowRec_Pi0_PFOAcc( *this ).size();
925  }
926 
928 
929  eflowRec_Pi0_PFOAcc( *this ).push_back( pfo );
930  return;
931  }
932 
934  eflowRec_Pi0_PFOAcc( *this ).clear();
935  return;
936  }
937 
938 
939  void TauJet_v1::dump() const {
940  /* keep these two lines to create the template methods. Otherwise they are optimzed away
941  * later: move these two lines into a dummy method, which nobody is calling
942  */
943  std::cout << this->detail<float>(xAOD::TauJetParameters::ipSigLeadTrk) << std::endl;
944  std::cout << this->detail<int>(xAOD::TauJetParameters::numTopoClusters) << std::endl;
945  }
946 
947 } // namespace xAOD
948 
949 // 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:862
xAOD::TauJet_v1::setVertex
void setVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
Definition: TauJet_v1.cxx:566
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:253
xAOD::TauJet_v1::rapidity
virtual double rapidity() const
The true rapidity (y) of the particle.
Definition: TauJet_v1.cxx:83
get_generator_info.result
result
Definition: get_generator_info.py:21
xAOD::TauJet_v1::nTracks
size_t nTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v1.cxx:365
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:644
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:892
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:318
xAOD::TauJet_v1::clearEflowRec_Charged_PFOLinks
void clearEflowRec_Charged_PFOLinks()
Remove all eflowRec_charged PFOs from the tau.
Definition: TauJet_v1.cxx:872
xAOD::TauJet_v1::addWideTrackLink
void addWideTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v1.cxx:494
xAOD::TauJet_v1::clearHadronic_PFOLinks
void clearHadronic_PFOLinks()
Remove all hadronic PFOs from the tau.
Definition: TauJet_v1.cxx:621
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:866
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:527
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:9
TauGNNUtils::Variables::ptIntermediateAxis
bool ptIntermediateAxis(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:359
xAOD::TauJet_v1::addCharged_PFOLink
void addCharged_PFOLink(const ElementLink< PFOContainer > &pfo)
add a charged PFO to the tau
Definition: TauJet_v1.cxx:674
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:640
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:224
xAOD::TauJet_v1::nOtherTracks
size_t nOtherTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v1.cxx:517
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:369
xAOD::TauJet_v1::discriminant
double discriminant(TauJetParameters::TauID discID) const
Get value of discriminant.
Definition: TauJet_v1.cxx:204
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:927
xAOD::TauJet_v1::clearShot_PFOLinks
void clearShot_PFOLinks()
Remove all shot PFOs from the tau.
Definition: TauJet_v1.cxx:650
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:440
TauJet_v1.h
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:933
xAOD::TauJet_v1::addConversionTrackLink
void addConversionTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v1.cxx:467
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:705
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:93
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:806
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:337
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:800
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:732
lumiFormat.i
int i
Definition: lumiFormat.py:85
xAOD::TauJet_v1::setTrackFilterPass
void setTrackFilterPass(unsigned int numTrack, int pass)
Definition: TauJet_v1.cxx:391
xAOD::TauJet_v1::setSecondaryVertex
void setSecondaryVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
Definition: TauJet_v1.cxx:587
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:266
xAOD::TauJet_v1::setFlag
void setFlag(TauJetParameters::VetoFlags flag, bool value)
Set veto flag.
Definition: TauJet_v1.cxx:244
xAOD::TauJet_v1::ptJetSeed
double ptJetSeed() const
xAOD::float
float
Definition: BTagging_v1.cxx:168
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:473
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:294
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:939
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:827
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:232
xAOD::TauJet_v1::setDiscriminant
void setDiscriminant(TauJetParameters::TauID discID, double disc)
Set value of discriminant.
Definition: TauJet_v1.cxx:216
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:923
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
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:766
xAOD::TauJet_v1::clearCellBased_Pi0_PFOLinks
void clearCellBased_Pi0_PFOLinks()
Remove all cellbased_pi0 PFOs from the tau.
Definition: TauJet_v1.cxx:837
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:309
PFO
Definition: ClusterMomentPlots.h:15
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:490
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:500
xAOD::TauJet_v1::addOtherTrackLink
void addOtherTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v1.cxx:521
xAOD::TauJet_v1::TrackParticleLinks_t
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
Definition: TauJet_v1.h:228
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:375
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:896
xAOD::TauJet_v1::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
Definition: TauJet_v1.cxx:183
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:680
xAOD::TauJet_v1::setJet
void setJet(const xAOD::JetContainer *cont, const xAOD::Jet *jet)
Definition: TauJet_v1.cxx:545
xAOD::TauJet_v1::etaDetectorAxis
double etaDetectorAxis() const
xAOD::TauJet_v1::setTrackEtaStrip
void setTrackEtaStrip(unsigned int numTrack, float eta)
Definition: TauJet_v1.cxx:420
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:711
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:736
xAOD::TauJet_v1::addHadronic_PFOLink
void addHadronic_PFOLink(const ElementLink< PFOContainer > &pfo)
add a hadronic PFO to the tau
Definition: TauJet_v1.cxx:615
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:796
xAOD::TauJet_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: TauJet_v1.cxx:87
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:463
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:670
TauGNNUtils::Variables::ptDetectorAxis
bool ptDetectorAxis(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:354
xAOD::TauJet_v1::trackPhiStrip
float trackPhiStrip(unsigned int numTrack) const
Definition: TauJet_v1.cxx:430
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:776
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:831
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:381
xAOD::xAODTau::discriminantAccessorV1
const SG::Accessor< float > * discriminantAccessorV1(xAOD::TauJetParameters::TauID discriminant)
Helper function for managing accessors to id input and output variables defined as enums in TauDefs....
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:770
xAOD::TauJet_v1::clearPi0_PFOLinks
void clearPi0_PFOLinks()
Remove all pi0 PFOs from the tau.
Definition: TauJet_v1.cxx:742
xAOD::TauJet_v1::clearEflowRec_Neutral_PFOLinks
void clearEflowRec_Neutral_PFOLinks()
Remove all eflowRec_neutral PFOs from the tau.
Definition: TauJet_v1.cxx:902
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:701
xAOD::TauJet_v1::setP4
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
Definition: TauJet_v1.cxx:151
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:611
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106
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