ATLAS Offline Software
TauJet_v2.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_v2.cxx 747258 2016-05-15 02:57:19Z 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_v2.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_v2, float, double, ptJetSeed)
37  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, etaJetSeed)
38  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, phiJetSeed)
39  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, mJetSeed)
40 
41  //primitive setters and getters for jetseed 4-vector
43  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, etaDetectorAxis)
44  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, phiDetectorAxis)
45  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, mDetectorAxis)
46 
47  //primitive setters and getters for IntermediateAxis 4-vector
49  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, etaIntermediateAxis)
50  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, phiIntermediateAxis)
51  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, mIntermediateAxis)
52 
53  //primitive setters and getters for TauEnergyScale 4-vector
54  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, ptTauEnergyScale)
55  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, etaTauEnergyScale)
56  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, phiTauEnergyScale)
57  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, mTauEnergyScale)
58 
59  //primitive setters and getters for jetseed 4-vector
60  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, ptTauEtaCalib)
61  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, etaTauEtaCalib)
62  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, phiTauEtaCalib)
63  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, mTauEtaCalib)
64 
65  //primitive setters and getters for jetseed 4-vector
66  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, ptPanTauCellBasedProto)
67  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, etaPanTauCellBasedProto)
68  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, phiPanTauCellBasedProto)
69  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, mPanTauCellBasedProto)
70 
71  //primitive setters and getters for jetseed 4-vector
72  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, ptPanTauCellBased)
73  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, etaPanTauCellBased)
74  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, phiPanTauCellBased)
75  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, mPanTauCellBased)
76 
77  //primitive setters and getters for HLT 4-vector
78  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, ptTrigCaloOnly)
79  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, etaTrigCaloOnly)
80  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, phiTrigCaloOnly)
81  AUXSTORE_PRIMITIVE_GETTER_WITH_CAST( TauJet_v2, float, double, mTrigCaloOnly)
82 
83 
84  double TauJet_v2::e() const {
85  return genvecP4().E();
86  }
87 
88 
89  double TauJet_v2::rapidity() const {
90  return genvecP4().Rapidity();
91  }
92 
94  FourMom_t p4;
95  p4.SetPtEtaPhiM( pt(), eta(), phi(),m());
96  return p4;
97  }
98 
100  return GenVecFourMom_t(pt(), eta(), phi(), m());
101  }
102 
104  FourMom_t p4;
105  switch(calib) {
107  p4.SetPtEtaPhiM( ptJetSeed(), etaJetSeed(), phiJetSeed(), mJetSeed());
108  break;
111  break;
114  break;
117  break;
119  p4.SetPtEtaPhiM( ptTauEtaCalib(), etaTauEtaCalib(), phiTauEtaCalib(), mTauEtaCalib());
120  break;
123  break;
126  break;
129  break;
130  default:
131  p4.SetPtEtaPhiM( pt(), eta(), phi(), m());
132  }
133 
134  return p4;
135  }
136 
138  switch(calib) {
155  default:
156  return GenVecFourMom_t( pt(), eta(), phi(), m());
157  }
158  }
159 
160 
161  void TauJet_v2::setP4(double pt, double eta, double phi, double m) {
162  static const Accessor< float > acc1( "pt" );
163  static const Accessor< float > acc2( "eta" );
164  static const Accessor< float > acc3( "phi" );
165  static const Accessor< float > acc4( "m" );
166  acc1( *this )=pt;
167  acc2( *this )=eta;
168  acc3( *this )=phi;
169  acc4( *this )=m;
170  }
171 
172  bool TauJet_v2::setP4(const TauJetParameters::TauCalibType calib, double pt, double eta, double phi, double m) {
173  TauJetCalibTypeMapper_v1 typeMapper;
174  std::string calibString = "";
175  bool result = typeMapper.getValue(calib, calibString);
176  if (result) {
177  Accessor< float > accTauPtCalib( "pt"+calibString );
178  Accessor< float > accTauEtaCalib( "eta"+calibString );
179  Accessor< float > accTauPhiCalib( "phi"+calibString );
180  Accessor< float > accTauMCalib( "m"+calibString );
181  accTauPtCalib( *this )=pt;
182  accTauEtaCalib( *this )=eta;
183  accTauPhiCalib( *this )=phi;
184  accTauMCalib( *this )=m;
185  return true;
186  }
187  else {
188  return false;
189  }
190  }
191 
192 
194  return Type::Tau;
195  }
196 
197  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v2, unsigned int, ROIWord , setROIWord )
199 
200  //-------------------------------------------------------------------------
201  // Has discriminant
202  //-------------------------------------------------------------------------
203  bool TauJet_v2::hasDiscriminant( TauJetParameters::TauID discID ) const
204  {
205  // Get the discriminant accessor:
206  const Accessor< float >* acc = xAODTau::discriminantAccessorV2( discID );
207  return acc != nullptr;
208  }
209 
210 
211  //-------------------------------------------------------------------------
212  // Get discriminant
213  //-------------------------------------------------------------------------
215  // Get the discriminant accessor:
217  if( ! acc ) return -1111.0;
218 
219  // Retrieve the discriminant value:
220  return ( *acc )( *this );
221  }
222 
223  //-------------------------------------------------------------------------
224  // Set discriminant
225  //-------------------------------------------------------------------------
227  ( *( xAODTau::discriminantAccessorV2( discriminant ) ) )( *this ) = value;
228  return;
229  }
230 
231  //-------------------------------------------------------------------------
232  // Accept
233  //-------------------------------------------------------------------------
236  {
237  static const Accessor< uint32_t > acc( "isTauFlags" );
238  std::bitset<32> isTauFlags( acc( *this ) );
239  return isTauFlags[flag];
240  }
241 
244  {
245  static const Accessor< uint32_t > acc( "isTauFlags" );
246  std::bitset<32> isTauFlags( acc( *this ) );
247  isTauFlags[flag] = value;
248  acc( *this ) = isTauFlags.to_ulong();
249  }
250 
251  //-------------------------------------------------------------------------
252  // Veto flags accessors
253  //-------------------------------------------------------------------------
256  {
257  static const Accessor< uint32_t > acc( "vetoFlags" );
258  std::bitset<32> vetoFlags( acc( *this ) );
259  vetoFlags[flag] = value;
260  acc( *this ) = vetoFlags.to_ulong();
261  }
262 
265  {
266  static const Accessor< uint32_t > acc( "vetoFlags" );
267  std::bitset<32> vetoFlags( acc( *this ) );
268  return vetoFlags[flag];
269  }
270 
271 
272 
273  //-------------------------------------------------------------------------
274  // Get int detail via enum
275  //-------------------------------------------------------------------------
277  // Get the detail accessor:
278  const Accessor< int >* acc = xAODTau::detailsAccessorV2<int>( detail );
279  if( ! acc ) return false;
280  if( ! acc->isAvailable( *this ) ) return false;
281 
282  // Retrieve the detail value:
283  value = ( *acc )( *this );
284  return true;
285  }
286 
287  //-------------------------------------------------------------------------
288  // Get float detail via enum
289  //-------------------------------------------------------------------------
291  // Get the detail accessor:
292  const Accessor< float >* acc = xAODTau::detailsAccessorV2<float>( detail );
293  if( ! acc ) return false;
294  if( ! acc->isAvailable( *this ) ) return false;
295 
296  // Retrieve the detail value:
297  value = ( *acc )( *this );
298  return true;
299  }
300 
301  //-------------------------------------------------------------------------
302  // Set int detail via enum
303  //-------------------------------------------------------------------------
305  ( *( xAODTau::detailsAccessorV2<int>( detail ) ) )( *this ) = value;
306  }
307 
308  //-------------------------------------------------------------------------
309  // Set float detail via enum
310  //-------------------------------------------------------------------------
312  ( *( xAODTau::detailsAccessorV2<float>( detail ) ) )( *this ) = value;
313  }
314 
315 
316  //-------------------------------------------------------------------------
317  // Get int panTauDetail via enum
318  //-------------------------------------------------------------------------
320  // Get the panTauDetail accessor:
321  const Accessor< int >* acc = xAODTau::panTauDetailsAccessorV2<int>( panTauDetail );
322  if( ! acc ) return false;
323  if( ! acc->isAvailable( *this ) ) return false;
324 
325  // Retrieve the panTauDetail value:
326  value = ( *acc )( *this );
327  return true;
328  }
329 
330  //-------------------------------------------------------------------------
331  // Get float panTauDetail via enum
332  //-------------------------------------------------------------------------
333  bool TauJet_v2::panTauDetail( TauJetParameters::PanTauDetails panTauDetail, float& value ) const {
334  // Get the panTauDetail accessor:
335  const Accessor< float >* acc = xAODTau::panTauDetailsAccessorV2<float>( panTauDetail );
336  if( ! acc ) return false;
337  if( ! acc->isAvailable( *this ) ) return false;
338 
339  // Retrieve the panTauDetail value:
340  value = ( *acc )( *this );
341  return true;
342  }
343 
344  //-------------------------------------------------------------------------
345  // Set int panTauDetail via enum
346  //-------------------------------------------------------------------------
348  ( *( xAODTau::panTauDetailsAccessorV2<int>( panTauDetail ) ) )( *this ) = value;
349  }
350 
351  //-------------------------------------------------------------------------
352  // Set float panTauDetail via enum
353  //-------------------------------------------------------------------------
355  ( *( xAODTau::panTauDetailsAccessorV2<float>( panTauDetail ) ) )( *this ) = value;
356  }
357 
358 
359  // setters and getters for the track links
362  trackLinks,
363  setTrackLinks )
364 
365  static const SG::Accessor< TauJet_v2::TrackParticleLinks_t > trackAcc( "trackLinks" );
366 
367  const TrackParticle* TauJet_v2::track( size_t i ) const {
368  return ( *trackAcc( *this )[ i ] );
369  }
370 
371  size_t TauJet_v2::nTracks() const {
372  return trackAcc( *this ).size();
373  }
374 
376 
377  trackAcc( *this ).push_back( tr );
378  return;
379  }
380 
382  trackAcc( *this ).clear();
383  return;
384  }
385 
386 
388  {
389  static const Accessor< std::vector < uint8_t > > trackFlags("trackFlags");
390  std::vector<uint8_t> vec = trackFlags(*this);
391  unsigned int totalTracks = this->nTracks() + this->nWideTracks() + this->nOtherTracks();
392  while (vec.size() < totalTracks) {
393  vec.push_back(0);
394  }
395  for (unsigned int i = 0 ; i < totalTracks ; i++) {
396  const TrackParticle* iterTrack;
397  if (i < this->nTracks()) {
398  iterTrack = this->track(i);
399  }
400  else if (i < this->nTracks() + this->nWideTracks()) {
401  iterTrack = this->wideTrack(i - this->nTracks());
402  }
403  else {
404  iterTrack = this->otherTrack(i - this->nTracks() - this->nWideTracks());
405  }
406  if (track == iterTrack) {
407  std::bitset<8> thisTracksFlags(vec[i]);
408  return thisTracksFlags[flag];
409  }
410  }
411  return false;
412  }
413 
415  {
416  static const Accessor< std::vector < uint8_t > > trackFlags("trackFlags");
417  std::vector<uint8_t> vec = trackFlags(*this);
418  unsigned int totalTracks = this->nTracks() + this->nWideTracks() + this->nOtherTracks();
419  while (vec.size() < totalTracks) {
420  vec.push_back(0);
421  }
422  for (unsigned int i = 0 ; i < totalTracks ; i++) {
423  const TrackParticle* iterTrack;
424  if (i < this->nTracks()) {
425  iterTrack = this->track(i);
426  }
427  else if (i < this->nTracks() + this->nWideTracks()) {
428  iterTrack = this->wideTrack(i - this->nTracks());
429  }
430  else {
431  iterTrack = this->otherTrack(i - this->nTracks() - this->nWideTracks());
432  }
433  if (track == iterTrack) {
434  std::bitset<8> thisTracksFlags(vec[i]);
435  thisTracksFlags[flag] = value;
436  vec[i] = thisTracksFlags.to_ulong();
437  }
438  }
439  trackFlags(*this) = vec;
440  }
441 
442 
443  //setter and getter for trackfilterprongs
444  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v2, int, trackFilterProngs , setTrackFilterProngs )
445  //setter and getter for trackfilterquality
446  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v2, int, trackFilterQuality , setTrackFilterQuality )
447  //setter and getter for pi0ConeDR
448  AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( TauJet_v2, float, pi0ConeDR , setPi0ConeDR )
449 
450 
451 
452  float TauJet_v2::trackEtaStrip(unsigned int numTrack) const
453  {
454  static const Accessor< std::vector <float > > trackEtaStripAcc("trackEtaStrip");
455  const std::vector<float>& vec=trackEtaStripAcc(*this);
456  if (vec.size()<numTrack+1)
457  return -999.0;
458  else
459  return vec[numTrack];
460  }
461 
462  void TauJet_v2::setTrackEtaStrip(unsigned int numTrack, float eta)
463  {
464  static const Accessor< std::vector <float > > trackEtaStripAcc("trackEtaStrip");
465  std::vector<float>& vec=trackEtaStripAcc(*this);
466  if (vec.size()<numTrack+1)
467  vec.resize(numTrack+1);
468  vec[numTrack]=eta;
469  }
470 
471 
472  float TauJet_v2::trackPhiStrip(unsigned int numTrack) const
473  {
474  static const Accessor< std::vector <float > > trackPhiStripAcc("trackPhiStrip");
475  const std::vector<float>& vec=trackPhiStripAcc(*this);
476  if (vec.size()<numTrack+1)
477  return -999.0;
478  else
479  return vec[numTrack];
480  }
481 
482  void TauJet_v2::setTrackPhiStrip(unsigned int numTrack, float phi)
483  {
484  static const Accessor< std::vector <float > > trackPhiStripAcc("trackPhiStrip");
485  std::vector<float>& vec=trackPhiStripAcc(*this);
486  if (vec.size()<numTrack+1)
487  vec.resize(numTrack+1);
488  vec[numTrack]=phi;
489  }
490 
491 
492 
493  // setters and getters for the wide track links
496  wideTrackLinks,
497  setWideTrackLinks )
498 
499  static const SG::Accessor< TauJet_v2::TrackParticleLinks_t > wideTrackAcc( "wideTrackLinks" );
500 
501  const TrackParticle* TauJet_v2::wideTrack( size_t i ) const {
502  return ( *wideTrackAcc( *this )[ i ] );
503  }
504 
505  size_t TauJet_v2::nWideTracks() const {
506  return wideTrackAcc( *this ).size();
507  }
508 
510 
511  wideTrackAcc( *this ).push_back( tr );
512  return;
513  }
514 
516  wideTrackAcc( *this ).clear();
517  return;
518  }
519 
520  // setters and getters for the other track links
523  otherTrackLinks,
524  setOtherTrackLinks )
525 
526  static const SG::Accessor< TauJet_v2::TrackParticleLinks_t > otherTrackAcc( "otherTrackLinks" );
527 
528  const TrackParticle* TauJet_v2::otherTrack( size_t i ) const {
529  return ( *otherTrackAcc( *this )[ i ] );
530  }
531 
532  size_t TauJet_v2::nOtherTracks() const {
533  return otherTrackAcc( *this ).size();
534  }
535 
537 
538  otherTrackAcc( *this ).push_back( tr );
539  return;
540  }
541 
543  otherTrackAcc( *this ).clear();
544  return;
545  }
546 
550  jetLink,
551  setJetLink )
552 
553  static const SG::Accessor< TauJet_v2::JetLink_t > jetAcc( "jetLink" );
554 
555  const Jet* TauJet_v2::jet() const {
556  return ( *jetAcc( *this ) );
557  }
558 
559 
560  void TauJet_v2::setJet( const xAOD::JetContainer *cont, const xAOD::Jet *jet) {
561  if( jetAcc( *this ).isValid() )
562  jetAcc( *this ).reset();
563  jetAcc( *this ).toContainedElement( *cont, jet );
564  }
565 
566 
567 
571  vertexLink,
572  setVertexLink )
573 
574  static const SG::Accessor< TauJet_v2::VertexLink_t > vertexAcc( "vertexLink" );
575 
576  const Vertex* TauJet_v2::vertex() const {
577  return ( *vertexAcc( *this ) );
578  }
579 
580 
582  if( vertexAcc( *this ).isValid() )
583  vertexAcc( *this ).reset();
584  vertexAcc( *this ).toContainedElement( *cont, vertex );
585  }
586 
587 
588 
592  secondaryVertexLink,
593  setSecondaryVertexLink )
594 
595  static const SG::Accessor< TauJet_v2::VertexLink_t > secondaryVertexAcc( "secondaryVertexLink" );
596 
597  const Vertex* TauJet_v2::secondaryVertex() const {
598  return ( *secondaryVertexAcc( *this ) );
599  }
600 
601 
603  if( secondaryVertexAcc( *this ).isValid() )
604  secondaryVertexAcc( *this ).reset();
605  secondaryVertexAcc( *this ).toContainedElement( *cont, vertex );
606  }
607 
608 
609 
610 
612  // setters and getters for the hadronic PFO links
615  hadronicPFOLinks,
616  setHadronicPFOLinks )
617 
618 
619 
620  static const SG::Accessor< TauJet_v2::PFOLinks_t > hadronicPFOAcc( "hadronicPFOLinks" );
621 
622  const PFO* TauJet_v2::hadronicPFO( size_t i ) const {
623  return ( *hadronicPFOAcc( *this )[ i ] );
624  }
625 
626  size_t TauJet_v2::nHadronicPFOs() const {
627  return hadronicPFOAcc( *this ).size();
628  }
629 
631 
632  hadronicPFOAcc( *this ).push_back( pfo );
633  return;
634  }
635 
637  hadronicPFOAcc( *this ).clear();
638  return;
639  }
640 
641  // setters and getters for the shot PFO links
644  shotPFOLinks,
645  setShotPFOLinks )
646 
647 
648 
649  static const SG::Accessor< TauJet_v2::PFOLinks_t > shotPFOAcc( "shotPFOLinks" );
650 
651  const PFO* TauJet_v2::shotPFO( size_t i ) const {
652  return ( *shotPFOAcc( *this )[ i ] );
653  }
654 
655  size_t TauJet_v2::nShotPFOs() const {
656  return shotPFOAcc( *this ).size();
657  }
658 
660 
661  shotPFOAcc( *this ).push_back( pfo );
662  return;
663  }
664 
666  shotPFOAcc( *this ).clear();
667  return;
668  }
669 
670 
671  // setters and getters for the charged PFO links
674  chargedPFOLinks,
675  setChargedPFOLinks )
676 
677 
678 
679  static const SG::Accessor< TauJet_v2::PFOLinks_t > chargedPFOAcc( "chargedPFOLinks" );
680 
681  const PFO* TauJet_v2::chargedPFO( size_t i ) const {
682  return ( *chargedPFOAcc( *this )[ i ] );
683  }
684 
685  size_t TauJet_v2::nChargedPFOs() const {
686  return chargedPFOAcc( *this ).size();
687  }
688 
690 
691  chargedPFOAcc( *this ).push_back( pfo );
692  return;
693  }
694 
696  chargedPFOAcc( *this ).clear();
697  return;
698  }
699 
700 
701 
702  // setters and getters for the neutral PFO links
705  neutralPFOLinks,
706  setNeutralPFOLinks )
707 
708 
709 
710  static const SG::Accessor< TauJet_v2::PFOLinks_t > neutralPFOAcc( "neutralPFOLinks" );
711 
712  const PFO* TauJet_v2::neutralPFO( size_t i ) const {
713  return ( *neutralPFOAcc( *this )[ i ] );
714  }
715 
716  size_t TauJet_v2::nNeutralPFOs() const {
717  return neutralPFOAcc( *this ).size();
718  }
719 
721 
722  neutralPFOAcc( *this ).push_back( pfo );
723  return;
724  }
725 
727  neutralPFOAcc( *this ).clear();
728  return;
729  }
730 
731 
732 
733  // setters and getters for the pi0 PFO links
736  pi0PFOLinks,
737  setPi0PFOLinks )
738 
739 
740 
741  static const SG::Accessor< TauJet_v2::PFOLinks_t > pi0PFOAcc( "pi0PFOLinks" );
742 
743  const PFO* TauJet_v2::pi0PFO( size_t i ) const {
744  return ( *pi0PFOAcc( *this )[ i ] );
745  }
746 
747  size_t TauJet_v2::nPi0PFOs() const {
748  return pi0PFOAcc( *this ).size();
749  }
750 
752 
753  pi0PFOAcc( *this ).push_back( pfo );
754  return;
755  }
756 
758  pi0PFOAcc( *this ).clear();
759  return;
760  }
761 
762 
763 
764 
765 
767  // setters and getters for the cellbased_charged PFO links
770  protoChargedPFOLinks,
771  setProtoChargedPFOLinks )
772 
773 
774 
775  static const SG::Accessor< TauJet_v2::PFOLinks_t > protoChargedPFOAcc( "protoChargedPFOLinks" );
776 
777  const PFO* TauJet_v2::protoChargedPFO( size_t i ) const {
778  return ( *protoChargedPFOAcc( *this )[ i ] );
779  }
780 
782  return protoChargedPFOAcc( *this ).size();
783  }
784 
786 
787  protoChargedPFOAcc( *this ).push_back( pfo );
788  return;
789  }
790 
792  protoChargedPFOAcc( *this ).clear();
793  return;
794  }
795 
796 
797  // setters and getters for the cellbased_neutral PFO links
800  protoNeutralPFOLinks,
801  setProtoNeutralPFOLinks )
802 
803 
804 
805  static const SG::Accessor< TauJet_v2::PFOLinks_t > protoNeutralPFOAcc( "protoNeutralPFOLinks" );
806 
807  const PFO* TauJet_v2::protoNeutralPFO( size_t i ) const {
808  return ( *protoNeutralPFOAcc( *this )[ i ] );
809  }
810 
812  return protoNeutralPFOAcc( *this ).size();
813  }
814 
816 
817  protoNeutralPFOAcc( *this ).push_back( pfo );
818  return;
819  }
820 
822  protoNeutralPFOAcc( *this ).clear();
823  return;
824  }
825 
826 
827 
828  // setters and getters for the cellbased_pi0 PFO links
831  protoPi0PFOLinks,
832  setProtoPi0PFOLinks )
833 
834 
835 
836  static const SG::Accessor< TauJet_v2::PFOLinks_t > protoPi0PFOAcc( "protoPi0PFOLinks" );
837 
838  const PFO* TauJet_v2::protoPi0PFO( size_t i ) const {
839  return ( *protoPi0PFOAcc( *this )[ i ] );
840  }
841 
842  size_t TauJet_v2::nProtoPi0PFOs() const {
843  return protoPi0PFOAcc( *this ).size();
844  }
845 
847 
848  protoPi0PFOAcc( *this ).push_back( pfo );
849  return;
850  }
851 
853  protoPi0PFOAcc( *this ).clear();
854  return;
855  }
856 
857 
858 
859 
860  void TauJet_v2::dump() const {
861  /* keep these two lines to create the template methods. Otherwise they are optimzed away
862  * later: move these two lines into a dummy method, which nobody is calling
863  */
864  std::cout << this->detail<float>(xAOD::TauJetParameters::ipSigLeadTrk) << std::endl;
865  std::cout << this->detail<int>(xAOD::TauJetParameters::numTopoClusters) << std::endl;
866  }
867 
868 } // namespace xAOD
869 
870 // LocalWords: panTauDetail mJetSeed
xAOD::TauJet_v2::setTrackEtaStrip
void setTrackEtaStrip(unsigned int numTrack, float eta)
Definition: TauJet_v2.cxx:462
xAOD::TauJetParameters::TauTrackFlag
TauTrackFlag
Enum for tau track flags.
Definition: TauDefs.h:400
python.CaloBCIDAvgAlgConfig.acc3
def acc3
Definition: CaloBCIDAvgAlgConfig.py:69
xAOD::TauJet_v2::clearProtoChargedPFOLinks
void clearProtoChargedPFOLinks()
Remove all cellbased_charged PFOs from the tau.
Definition: TauJet_v2.cxx:791
xAOD::TauJet_v2::protoNeutralPFO
const PFO * protoNeutralPFO(size_t i) const
Get the pointer to a given cellbased_neutral PFO associated with this tau.
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_v2::addNeutralPFOLink
void addNeutralPFOLink(const ElementLink< PFOContainer > &pfo)
add a neutral PFO to the tau
Definition: TauJet_v2.cxx:720
xAOD::TauJet_v2::mJetSeed
double mJetSeed() const
xAOD::TauJet_v2::ptTauEnergyScale
double ptTauEnergyScale() const
xAOD::TauJet_v2::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
Definition: TauJet_v2.cxx:193
xAOD::TauJet_v2::otherTrack
const TrackParticle * otherTrack(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v2::nOtherTracks
size_t nOtherTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v2.cxx:532
xAOD::TauJet_v2::TauJet_v2
TauJet_v2()
Default constructor.
Definition: TauJet_v2.cxx:24
TauJet_v2.h
get_generator_info.result
result
Definition: get_generator_info.py:21
xAOD::TauJet_v2::nProtoNeutralPFOs
size_t nProtoNeutralPFOs() const
Get the number of cellbased_neutral PFO particles associated with this tau.
Definition: TauJet_v2.cxx:811
xAOD::TauJet_v2::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for taus.
Definition: TauJet_v2.h:66
xAOD::TauJet_v2::mDetectorAxis
double mDetectorAxis() const
xAOD::TauJet_v2::phiTauEtaCalib
double phiTauEtaCalib() const
xAOD::TauJetParameters::PanTauCellBasedProto
@ PanTauCellBasedProto
Definition: TauDefs.h:343
xAOD::xAODTau::discriminantAccessorV2
const SG::Accessor< float > * discriminantAccessorV2(xAOD::TauJetParameters::TauID discriminant)
Helper function for managing accessors to id input and output variables defined as enums in TauDefs....
xAOD::TauJet_v2::etaTauEtaCalib
double etaTauEtaCalib() const
xAOD::TauJetParameters::IntermediateAxis
@ IntermediateAxis
Definition: TauDefs.h:338
xAOD::TauJet_v2::clearOtherTrackLinks
void clearOtherTrackLinks()
Remove all tracks from the tau.
Definition: TauJet_v2.cxx:542
xAOD::TauJet_v2::setIsTau
void setIsTau(TauJetParameters::IsTauFlag flag, bool value)
Set Flag for tau acceptance based on predefined arbitrary criteria.
Definition: TauJet_v2.cxx:242
xAOD::TauJet_v2::etaTrigCaloOnly
double etaTrigCaloOnly() const
xAOD::TauJetParameters::VetoFlags
VetoFlags
Enum for Veto flags.
Definition: TauDefs.h:103
xAOD::TauJet_v2::nProtoChargedPFOs
size_t nProtoChargedPFOs() const
Get the number of cellbased_charged PFO particles associated with this tau.
Definition: TauJet_v2.cxx:781
xAOD::TauJet_v2::wideTrack
const TrackParticle * wideTrack(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v2::setFlag
void setFlag(TauJetParameters::VetoFlags flag, bool value)
Set veto flag.
Definition: TauJet_v2.cxx:254
xAOD::TauJet_v2::vertex
const Vertex * vertex() const
xAOD::TauJet_v2::clearHadronicPFOLinks
void clearHadronicPFOLinks()
Remove all hadronic PFOs from the tau.
Definition: TauJet_v2.cxx:636
SG::Accessor< float >
xAOD::TauJet_v2::addProtoChargedPFOLink
void addProtoChargedPFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_charged PFO to the tau
Definition: TauJet_v2.cxx:785
AuxStoreAccessorMacros.h
xAOD::TauJet_v2::clearNeutralPFOLinks
void clearNeutralPFOLinks()
Remove all neutral PFOs from the tau.
Definition: TauJet_v2.cxx:726
xAOD::TauJet_v2::ptTauEtaCalib
double ptTauEtaCalib() const
xAOD::TauJet_v2::mTrigCaloOnly
double mTrigCaloOnly() const
xAOD::TauJet_v2::nHadronicPFOs
size_t nHadronicPFOs() const
Get the number of hadronic PFO particles associated with this tau.
Definition: TauJet_v2.cxx:626
xAOD::TauJet_v2::ptPanTauCellBasedProto
double ptPanTauCellBasedProto() const
xAOD::TauJet_v2::setTrackPhiStrip
void setTrackPhiStrip(unsigned int numTrack, float phi)
Definition: TauJet_v2.cxx:482
xAOD::TauJet_v2::mTauEnergyScale
double mTauEnergyScale() const
xAOD::TauJet_v2::dump
void dump() const
Definition: TauJet_v2.cxx:860
xAOD::TauJet_v2::setDiscriminant
void setDiscriminant(TauJetParameters::TauID discID, double disc)
Set value of discriminant.
Definition: TauJet_v2.cxx:226
xAOD::TauJet_v2::addChargedPFOLink
void addChargedPFOLink(const ElementLink< PFOContainer > &pfo)
add a charged PFO to the tau
Definition: TauJet_v2.cxx:689
xAOD::TauJet_v2::addWideTrackLink
void addWideTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v2.cxx:509
xAOD::TauJet_v2::isTau
bool isTau(TauJetParameters::IsTauFlag flag) const
Get Flag for tau acceptance based on predefined arbitrary criteria.
Definition: TauJet_v2.cxx:234
xAOD::TauJet_v2::phiTauEnergyScale
double phiTauEnergyScale() const
TauJetParameters
Definition: TauJetParameters.h:23
xAOD::TauJet_v2::addShotPFOLink
void addShotPFOLink(const ElementLink< PFOContainer > &pfo)
add a shot PFO to the tau
Definition: TauJet_v2.cxx:659
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_v2::setP4
void setP4(double pt, double eta, double phi, double m)
Set methods for IParticle values.
Definition: TauJet_v2.cxx:161
xAOD::TauJet_v2::setVertex
void setVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
Definition: TauJet_v2.cxx:581
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::pt
setRcore setEtHad setFside pt
Definition: TrigPhoton_v1.cxx:106
xAOD::TauJet_v2::nChargedPFOs
size_t nChargedPFOs() const
Get the number of charged PFO particles associated with this tau.
Definition: TauJet_v2.cxx:685
xAOD::TauJetParameters::TauID
TauID
Enum for discriminants.
Definition: TauDefs.h:46
xAOD::TauJet_v2::pi0PFO
const PFO * pi0PFO(size_t i) const
Get the pointer to a given pi0 PFO associated with this tau.
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
xAOD::TauJet_v2::shotPFO
const PFO * shotPFO(size_t i) const
Get the pointer to a given shot PFO associated with this tau.
xAOD::TauJetParameters::ipSigLeadTrk
@ ipSigLeadTrk
Definition: TauDefs.h:160
xAOD::TauJetParameters::JetSeed
@ JetSeed
Definition: TauDefs.h:336
xAOD::TauJetCalibTypeMapper_v1
Definition: TauJetCalibMapper_v1.h:15
xAOD::TauJet_v2::setPanTauDetail
void setPanTauDetail(TauJetParameters::PanTauDetails panTauDetail, int value)
Definition: TauJet_v2.cxx:347
xAOD::TauJet_v2::phiPanTauCellBased
double phiPanTauCellBased() const
xAOD::IParticle::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:69
xAOD::TauJet_v2::setJet
void setJet(const xAOD::JetContainer *cont, const xAOD::Jet *jet)
Definition: TauJet_v2.cxx:560
xAOD::TauJet_v2::detail
bool detail(TauJetParameters::Detail detail, int &value) const
Get and set values of common details variables via enum.
Definition: TauJet_v2.cxx:276
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
xAOD::TauJet_v2::etaIntermediateAxis
double etaIntermediateAxis() const
xAOD::TauJet_v2::ptIntermediateAxis
double ptIntermediateAxis() const
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
xAOD::TauJetParameters::Detail
Detail
Enum for tau parameters - used mainly for backward compatibility with the analysis code.
Definition: TauDefs.h:156
xAOD::TauJet_v2::nPi0PFOs
size_t nPi0PFOs() const
Get the number of pi0 PFO particles associated with this tau.
Definition: TauJet_v2.cxx:747
xAOD::TauJet_v2::addPi0PFOLink
void addPi0PFOLink(const ElementLink< PFOContainer > &pfo)
add a pi0 PFO to the tau
Definition: TauJet_v2.cxx:751
xAOD::TauJet_v2::protoPi0PFO
const PFO * protoPi0PFO(size_t i) const
Get the pointer to a given cellbased_pi0 PFO associated with this tau.
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
xAOD::TauJet_v2::protoChargedPFO
const PFO * protoChargedPFO(size_t i) const
Get the pointer to a given cellbased_charged PFO associated with this tau.
xAOD::TauJetCalibTypeMapper_v1::getValue
bool getValue(TauJetParameters::TauCalibType type, std::string &stringName)
Definition: TauJetCalibMapper_v1.h:16
xAOD::TauJet_v2::discriminant
double discriminant(TauJetParameters::TauID discID) const
Get value of discriminant.
Definition: TauJet_v2.cxx:214
xAOD::TauJet_v2::nShotPFOs
size_t nShotPFOs() const
Get the number of shot PFO particles associated with this tau.
Definition: TauJet_v2.cxx:655
xAOD::TauJet_v2::phiJetSeed
double phiJetSeed() const
xAOD::TauJetParameters::TauCalibType
TauCalibType
Enum for tau calib type.
Definition: TauDefs.h:335
lumiFormat.i
int i
Definition: lumiFormat.py:85
xAOD::TauJet_v2::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
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_v2::etaPanTauCellBased
double etaPanTauCellBased() const
master.flag
bool flag
Definition: master.py:29
python.CaloBCIDAvgAlgConfig.acc2
def acc2
Definition: CaloBCIDAvgAlgConfig.py:59
xAOD::TauJet_v2::ptDetectorAxis
double ptDetectorAxis() const
xAOD::TauJet_v2::jet
const Jet * jet() const
xAOD::TauJet_v2::addOtherTrackLink
void addOtherTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v2.cxx:536
xAOD::TauJet_v2::neutralPFO
const PFO * neutralPFO(size_t i) const
Get the pointer to a given neutral PFO associated with this tau.
xAOD::TauJet_v2::nNeutralPFOs
size_t nNeutralPFOs() const
Get the number of neutral PFO particles associated with this tau.
Definition: TauJet_v2.cxx:716
xAOD::TauJet_v2::flag
bool flag(TauJetParameters::VetoFlags flag) const
Get veto flag.
Definition: TauJet_v2.cxx:263
xAOD::TauJet_v2::setDetail
void setDetail(TauJetParameters::Detail detail, int value)
Definition: TauJet_v2.cxx:304
xAOD::TauJet_v2
Class describing a tau jet.
Definition: TauJet_v2.h:38
xAOD::TauJet_v2::panTauDetail
bool panTauDetail(TauJetParameters::PanTauDetails panTauDetail, int &value) const
Get and set values of pantau details variables via enum.
Definition: TauJet_v2.cxx:319
xAOD::TauJetParameters::PanTauCellBased
@ PanTauCellBased
Definition: TauDefs.h:344
xAOD::TauJet_v2::mTauEtaCalib
double mTauEtaCalib() const
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
xAOD::TauJet_v2::setTrackFlag
void setTrackFlag(const TrackParticle *track, TauJetParameters::TauTrackFlag flag, bool value)
Definition: TauJet_v2.cxx:414
xAOD::TauJet_v2::nWideTracks
size_t nWideTracks() const
Get the number of track particles associated with this tau.
Definition: TauJet_v2.cxx:505
xAOD::TauJetParameters::numTopoClusters
@ numTopoClusters
get number of topocluster constituents of jet associated to tau candidate
Definition: TauDefs.h:173
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
python.LArRecUtilsConfig.acc4
def acc4
Definition: LArRecUtilsConfig.py:196
xAOD::TauJet_v2::ptJetSeed
double ptJetSeed() const
xAOD::TauJetParameters::TauEnergyScale
@ TauEnergyScale
Definition: TauDefs.h:339
xAOD::TauJet_v2::etaTauEnergyScale
double etaTauEnergyScale() const
xAOD::TauJet_v2::addProtoNeutralPFOLink
void addProtoNeutralPFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_neutral PFO to the tau
Definition: TauJet_v2.cxx:815
PFO
Definition: ClusterMomentPlots.h:15
TauJetAccessors_v2.h
xAOD::TauJet_v2::etaDetectorAxis
double etaDetectorAxis() const
xAOD::TauJet_v2::clearChargedPFOLinks
void clearChargedPFOLinks()
Remove all charged PFOs from the tau.
Definition: TauJet_v2.cxx:695
xAOD::TauJet_v2::clearTrackLinks
void clearTrackLinks()
Remove all tracks from the tau.
Definition: TauJet_v2.cxx:381
xAOD::TauJet_v2::clearWideTrackLinks
void clearWideTrackLinks()
Remove all tracks from the tau.
Definition: TauJet_v2.cxx:515
xAOD::TauJet_v2::mIntermediateAxis
double mIntermediateAxis() const
xAOD::TauJet_v2::track
const TrackParticle * track(size_t i) const
Get the pointer to a given track associated with this tau.
xAOD::TauJet_v2::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal taus type.
Definition: TauJet_v2.cxx:99
TauJetParameters::discriminant
@ discriminant
Definition: TauJetParameters.h:166
xAOD::TauJet_v2::addTrackLink
void addTrackLink(const ElementLink< TrackParticleContainer > &tr)
add a track to the tau
Definition: TauJet_v2.cxx:375
xAOD::TauJet_v2::trackFlag
bool trackFlag(const TrackParticle *track, TauJetParameters::TauTrackFlag flag) const
Definition: TauJet_v2.cxx:387
xAOD::TauJet_v2::m
virtual double m() const
The invariant mass of the particle.
xAOD::TauJet_v2::mPanTauCellBased
double mPanTauCellBased() const
xAOD::TauJet_v2::clearPi0PFOLinks
void clearPi0PFOLinks()
Remove all pi0 PFOs from the tau.
Definition: TauJet_v2.cxx:757
xAOD::TauJet_v2::clearProtoNeutralPFOLinks
void clearProtoNeutralPFOLinks()
Remove all cellbased_neutral PFOs from the tau.
Definition: TauJet_v2.cxx:821
xAOD::TauJet_v2::phiTrigCaloOnly
double phiTrigCaloOnly() const
xAOD::TauJetParameters::TrigCaloOnly
@ TrigCaloOnly
Definition: TauDefs.h:345
xAOD::TauJet_v2::etaPanTauCellBasedProto
double etaPanTauCellBasedProto() const
PlotSFuncertainty.calib
calib
Definition: PlotSFuncertainty.py:110
xAOD::Jet_v1
Class describing a jet.
Definition: Jet_v1.h:57
xAOD::TauJet_v2::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
Trk::vertex
@ vertex
Definition: MeasurementType.h:21
xAOD::TauJet_v2::hadronicPFO
const PFO * hadronicPFO(size_t i) const
Get the pointer to a given hadronic PFO associated with this tau.
TauJetCalibMapper_v1.h
xAOD::TauJetParameters::PanTauDetails
PanTauDetails
Enum for tau details (scalar) calculated by pantau.
Definition: TauDefs.h:355
xAOD::TauJet_v2::phiIntermediateAxis
double phiIntermediateAxis() const
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
xAOD::TauJet_v2::ptPanTauCellBased
double ptPanTauCellBased() const
xAOD::TauJet_v2::secondaryVertex
const Vertex * secondaryVertex() const
xAOD::TauJet_v2::nTracks
size_t nTracks() const
Definition: TauJet_v2.cxx:371
xAOD::TauJet_v2::rapidity
virtual double rapidity() const
The true rapidity (y) of the particle.
Definition: TauJet_v2.cxx:89
xAOD::TauJet_v2::nProtoPi0PFOs
size_t nProtoPi0PFOs() const
Get the number of cellbased_pi0 PFO particles associated with this tau.
Definition: TauJet_v2.cxx:842
xAOD::TauJetParameters::IsTauFlag
IsTauFlag
Enum for IsTau flags.
Definition: TauDefs.h:116
xAOD::TauJet_v2::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
Definition: TauJet_v2.cxx:93
xAODType::Tau
@ Tau
The object is a tau (jet)
Definition: ObjectType.h:49
xAOD::TauJet_v2::phiDetectorAxis
double phiDetectorAxis() const
xAOD::TauJet_v2::addProtoPi0PFOLink
void addProtoPi0PFOLink(const ElementLink< PFOContainer > &pfo)
add a cellbased_pi0 PFO to the tau
Definition: TauJet_v2.cxx:846
xAOD::TauJet_v2::PFOLinks_t
std::vector< ElementLink< xAOD::PFOContainer > > PFOLinks_t
Definition: TauJet_v2.h:307
xAOD::TauJet_v2::ptTrigCaloOnly
double ptTrigCaloOnly() const
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
xAOD::TauJetParameters::DetectorAxis
@ DetectorAxis
Definition: TauDefs.h:337
xAOD::TauJet_v2::addHadronicPFOLink
void addHadronicPFOLink(const ElementLink< PFOContainer > &pfo)
add a hadronic PFO to the tau
Definition: TauJet_v2.cxx:630
TauGNNUtils::Variables::ptDetectorAxis
bool ptDetectorAxis(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:354
xAOD::TauJet_v2::clearShotPFOLinks
void clearShotPFOLinks()
Remove all shot PFOs from the tau.
Definition: TauJet_v2.cxx:665
xAOD::TauJet_v2::etaJetSeed
double etaJetSeed() const
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition: ObjectType.h:32
xAOD::bool
setBGCode setTAP setLVL2ErrorBits bool
Definition: TrigDecision_v1.cxx:60
xAOD::TauJet_v2::mPanTauCellBasedProto
double mPanTauCellBasedProto() const
xAOD::TauJet_v2::setSecondaryVertex
void setSecondaryVertex(const xAOD::VertexContainer *cont, const xAOD::Vertex *vertex)
Definition: TauJet_v2.cxx:602
xAOD::TauJet_v2::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
xAOD::TauJet_v2::trackPhiStrip
float trackPhiStrip(unsigned int numTrack) const
Definition: TauJet_v2.cxx:472
xAOD::TauJet_v2::clearProtoPi0PFOLinks
void clearProtoPi0PFOLinks()
Remove all cellbased_pi0 PFOs from the tau.
Definition: TauJet_v2.cxx:852
xAOD::TauJet_v2::chargedPFO
const PFO * chargedPFO(size_t i) const
Get the pointer to a given charged PFO associated with this tau.
xAOD::TauJet_v2::phiPanTauCellBasedProto
double phiPanTauCellBasedProto() const
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106
xAOD::TauJet_v2::TrackParticleLinks_t
std::vector< ElementLink< xAOD::TrackParticleContainer > > TrackParticleLinks_t
Definition: TauJet_v2.h:232
xAOD::AUXSTORE_OBJECT_SETTER_AND_GETTER
AUXSTORE_OBJECT_SETTER_AND_GETTER(CaloRings_v1, RingSetLinks, ringSetLinks, setRingSetLinks) unsigned CaloRings_v1
Definition: CaloRings_v1.cxx:27