ATLAS Offline Software
L2StandAloneMuon_v1.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 // System include(s):
7 #include <iostream>
8 
9 // EDM include(s):
11 
12 // Local include(s):
16 
17 namespace xAOD {
18 
20  : IParticle() {
21 
22  }
23 
25  //
26  // Implementation of the xAOD::IParticle functions
27  //
28 
30  pt )
32  eta )
34  phi )
35 
36  double L2StandAloneMuon_v1::m() const {
37 
39  }
40 
41  double L2StandAloneMuon_v1::e() const {
42 
43  return genvecP4().E();
44  }
45 
46  double L2StandAloneMuon_v1::rapidity() const {
47 
48  return genvecP4().Rapidity();
49  }
50 
52  FourMom_t p4;
53  p4.SetPtEtaPhiM( pt(), eta(), phi(),m());
54  return p4;
55  }
56 
59  return GenVecFourMom_t(pt(), eta(), phi(), m());
60  }
61 
63 
64  // Create some trigger types in xAODBase in the next round...
65  return Type::Other;
66  }
67 
68  //
70 
72  //
73  // Implementation of the 4-momentum setter functions
74  //
75 
76  void L2StandAloneMuon_v1::setPt( float pt ) {
77 
78  static const Accessor< float > acc( "pt" );
79  acc( *this ) = pt;
80  return;
81  }
82 
83  void L2StandAloneMuon_v1::setEta( float eta ) {
84 
85  static const Accessor< float > acc( "eta" );
86  acc( *this ) = eta;
87  return;
88  }
89 
91 
92  static const Accessor< float > acc( "phi" );
93  acc( *this ) = phi;
94  return;
95  }
96 
97  //
99 
101  //
102  // Implementation of the LVL2 muon specific functions
103  //
105 
111  roiWord, setRoIWord )
113  sAddress, setSAddress )
115  rMS, setRMS )
117  etaMS, setEtaMS )
119  phiMS, setPhiMS )
121  dirPhiMS, setDirPhiMS )
123  zMS, setZMS )
125  dirZMS, setDirZMS )
127  beta, setBeta )
129  barrelRadius, setBarrelRadius )
131  barrelSagitta, setBarrelSagitta )
133  endcapAlpha, setEndcapAlpha )
135  endcapBeta, setEndcapBeta )
137  endcapRadius, setEndcapRadius )
139  slopeInner, setSlopeInner )
141  interceptInner, setInterceptInner )
143  deltaR, setDeltaR )
145  etaMap, setEtaMap )
147  phiMap, setPhiMap )
149  etaBin, setEtaBin )
151  phiBin, setPhiBin )
153  isTgcFailure, setIsTgcFailure )
155  isRpcFailure, setIsRpcFailure )
157  deltaPt, setDeltaPt )
159  deltaEta, setDeltaEta )
161  deltaPhi, setDeltaPhi )
162  //
164 
169  static const SG::AuxElement::Accessor< std::vector< float > > sprAcc( "superPointR" );
171  static const SG::AuxElement::Accessor< std::vector< float > > spzAcc( "superPointZ" );
173  static const SG::AuxElement::Accessor< std::vector< float > > spsAcc( "superPointSlope" );
175  static const SG::AuxElement::Accessor< std::vector< float > > spiAcc( "superPointIntercept" );
177  static const SG::AuxElement::Accessor< std::vector< float > > spcAcc( "superPointChi2" );
178 
180  float L2StandAloneMuon_v1::superPointR( int chamber ) const {
181  if( chamber >= 0 && sprAcc( *this ).size() > (unsigned int)chamber ) {
182  return sprAcc( *this ).at( chamber );
183  } else {
184  return 0.;
185  }
186  }
187 
189  if( chamber >= 0 && spzAcc( *this ).size() > (unsigned int)chamber ) {
190  return spzAcc( *this ).at( chamber );
191  } else {
192  return 0.;
193  }
194  }
195 
197  if( chamber >= 0 && spsAcc( *this ).size() > (unsigned int)chamber ) {
198  return spsAcc( *this ).at( chamber );
199  } else {
200  return 0.;
201  }
202  }
203 
205  if( chamber >= 0 && spiAcc( *this ).size() > (unsigned int)chamber ) {
206  return spiAcc( *this ).at( chamber );
207  } else {
208  return 0.;
209  }
210  }
211 
213  if( chamber >= 0 && spcAcc( *this ).size() > (unsigned int)chamber ) {
214  return spcAcc( *this ).at( chamber );
215  } else {
216  return 0.;
217  }
218  }
219 
222  float slope, float intercept, float chi2 ) {
223 
224  // Make sure that the variables are big enough:
225  if( sprAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
226  sprAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
227  }
228  if( spzAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
229  spzAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
230  }
231  if( spsAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
232  spsAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
233  }
234  if( spiAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
235  spiAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
236  }
237  if( spcAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
238  spcAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
239  }
240 
242  // Set the variables:
243  sprAcc( *this ).at( chamber ) = r;
244  spzAcc( *this ).at( chamber ) = z;
245  spsAcc( *this ).at( chamber ) = slope;
246  spiAcc( *this ).at( chamber ) = intercept;
247  spcAcc( *this ).at( chamber ) = chi2;
248  }
249 
250  return;
251  }
252 
255 
259  static const SG::AuxElement::Accessor< std::vector< float > > trkrAcc( "trackPositionR" );
260  static const SG::AuxElement::Accessor< std::vector< float > > trkzAcc( "trackPositionZ" );
261  static const SG::AuxElement::Accessor< std::vector< float > > trketaAcc( "trackPositionEta" );
262  static const SG::AuxElement::Accessor< std::vector< float > > trkphiAcc( "trackPositionPhi" );
263 
266  return trkrAcc( *this ).size();
267  }
268 
269  float L2StandAloneMuon_v1::trackPositionR( unsigned int n ) const {
270  if( trkrAcc( *this ).size() > n ) {
271  return trkrAcc( *this ).at( n );
272  } else {
273  return 0.;
274  }
275  }
276 
277  float L2StandAloneMuon_v1::trackPositionZ( unsigned int n ) const {
278  if( trkzAcc( *this ).size() > n ) {
279  return trkzAcc( *this ).at( n );
280  } else {
281  return 0.;
282  }
283  }
284 
285  float L2StandAloneMuon_v1::trackPositionEta( unsigned int n ) const {
286  if( trketaAcc( *this ).size() > n ) {
287  return trketaAcc( *this ).at( n );
288  } else {
289  return 0.;
290  }
291  }
292 
293  float L2StandAloneMuon_v1::trackPositionPhi( unsigned int n ) const {
294  if( trkphiAcc( *this ).size() > n ) {
295  return trkphiAcc( *this ).at( n );
296  } else {
297  return 0.;
298  }
299  }
300 
301 
302  void L2StandAloneMuon_v1::setTrackPosition( float r, float z, float eta, float phi ) {
303 
304  // Set the variables:
305  trkrAcc( *this ).push_back( r );
306  trkzAcc( *this ).push_back( z );
307  trketaAcc( *this ).push_back( eta );
308  trkphiAcc( *this ).push_back( phi );
309 
310  return;
311  }
312  //
314 
318 
322  algoId, setAlgoId )
324  teId, setTeId )
326  lvl1Id, setLvl1Id )
330  muonDetMask, setMuonDetMask )
332  roiId, setRoiId )
334  roiSystem, setRoiSystem )
336  roiSubsystem, setRoiSubsystem )
338  roiSector, setRoiSector )
340  roiNumber, setRoiNumber )
342  roiThreshold, setRoiThreshold )
343  //AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( L2StandAloneMuon_v1, uint32_t,
344  // roiEta, setRoiEta )
345  //AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( L2StandAloneMuon_v1, uint32_t,
346  // roiPhi, setRoiPhi )
348  static const Accessor< uint32_t > acc( "roiEtaUint" );
349  return acc( *this );
350  }
352  static const Accessor< uint32_t > acc( "roiEtaUint" );
353  acc( *this ) = value;
354  return;
355  }
357  static const Accessor< uint32_t > acc( "roiPhiUint" );
358  return acc( *this );
359  }
361  static const Accessor< uint32_t > acc( "roiPhiUint" );
362  acc( *this ) = value;
363  return;
364  }
365 
368 
372  ptBarrelRadius, setPtBarrelRadius )
374  ptBarrelSagitta, setPtBarrelSagitta )
376  ptEndcapAlpha, setPtEndcapAlpha )
378  ptEndcapBeta, setPtEndcapBeta )
380  ptEndcapRadius, setPtEndcapRadius )
383 
389  static const SG::AuxElement::Accessor< std::vector< int > >
390  ct1nAcc( "chamberType1Normal" );
391  static const SG::AuxElement::Accessor< std::vector< int > >
392  ct1oAcc( "chamberType1Overlap" );
393  static const SG::AuxElement::Accessor< std::vector< int > >
394  ct2nAcc( "chamberType2Normal" );
395  static const SG::AuxElement::Accessor< std::vector< int > >
396  ct2oAcc( "chamberType2Overlap" );
397 
399  static const SG::AuxElement::Accessor< std::vector< float > >
400  awnAcc( "roadAwNormal" );
401  static const SG::AuxElement::Accessor< std::vector< float > >
402  awoAcc( "roadAwOverlap" );
403  static const SG::AuxElement::Accessor< std::vector< float > >
404  bwnAcc( "roadBwNormal" );
405  static const SG::AuxElement::Accessor< std::vector< float > >
406  bwoAcc( "roadBwOverlap" );
407 
409  static const SG::AuxElement::Accessor< std::vector< float > >
410  zminnAcc( "zMinNormal" );
411  static const SG::AuxElement::Accessor< std::vector< float > >
412  zminoAcc( "zMinOverlap" );
413  static const SG::AuxElement::Accessor< std::vector< float > >
414  zmaxnAcc( "zMaxNormal" );
415  static const SG::AuxElement::Accessor< std::vector< float > >
416  zmaxoAcc( "zMaxOverlap" );
417 
419  static const SG::AuxElement::Accessor< std::vector< float > >
420  rminnAcc( "rMinNormal" );
421  static const SG::AuxElement::Accessor< std::vector< float > >
422  rminoAcc( "rMinOverlap" );
423  static const SG::AuxElement::Accessor< std::vector< float > >
424  rmaxnAcc( "rMaxNormal" );
425  static const SG::AuxElement::Accessor< std::vector< float > >
426  rmaxoAcc( "rMaxOverlap" );
427 
429  static const SG::AuxElement::Accessor< std::vector< float > >
430  eminnAcc( "etaMinNormal" );
431  static const SG::AuxElement::Accessor< std::vector< float > >
432  eminoAcc( "etaMinOverlap" );
433  static const SG::AuxElement::Accessor< std::vector< float > >
434  emaxnAcc( "etaMaxNormal" );
435  static const SG::AuxElement::Accessor< std::vector< float > >
436  emaxoAcc( "etaMaxOverlap" );
437 
442  int L2StandAloneMuon_v1::chamberType1( int station, int sector ) const {
443 
444  if ( station < 0 ) return 0;
445 
446  if ( sector == 0 ) {
448 
449  if ( ct1nAcc( *this ).size() > (unsigned int)station ) {
450  return ct1nAcc( *this ).at( station );
451  } else {
452  return 0;
453  }
454 
455  } else if ( sector == 1 ) {
457 
458  if ( ct1oAcc( *this ).size() > (unsigned int)station ) {
459  return ct1oAcc( *this ).at( station );
460  } else {
461  return 0;
462  }
463 
464  }
465 
466  return 0;
467  }
468 
469  int L2StandAloneMuon_v1::chamberType2( int station, int sector ) const {
470 
471  if ( station < 0 ) return 0;
472 
473  if ( sector == 0 ) {
475  if ( ct2nAcc( *this ).size() > (unsigned int)station ) {
476  return ct2nAcc( *this ).at( station );
477  } else {
478  return 0;
479  }
480 
481  } else if ( sector == 1 ) {
483 
484  if ( ct2oAcc( *this ).size() > (unsigned int)station ) {
485  return ct2oAcc( *this ).at( station );
486  } else {
487  return 0;
488  }
489 
490  }
491 
492  return 0;
493  }
494 
496  float L2StandAloneMuon_v1::roadAw( int station, int sector ) const {
497 
498  if ( station < 0 ) return 0;
499 
500  if ( sector == 0 ) {
502  if ( awnAcc( *this ).size() > (unsigned int)station ) {
503  return awnAcc( *this ).at( station );
504  } else {
505  return 0.;
506  }
507 
508  } else if ( sector == 1 ) {
510 
511  if ( awoAcc( *this ).size() > (unsigned int)station ) {
512  return awoAcc( *this ).at( station );
513  } else {
514  return 0.;
515  }
516 
517  }
518 
519  return 0.;
520  }
521 
523  float L2StandAloneMuon_v1::roadBw( int station, int sector ) const {
524 
525  if ( station < 0 ) return 0;
526 
527  if ( sector == 0 ) {
529  if ( bwnAcc( *this ).size() > (unsigned int)station ) {
530  return bwnAcc( *this ).at( station );
531  } else {
532  return 0.;
533  }
534 
535  } else if ( sector == 1 ) {
537 
538  if ( bwoAcc( *this ).size() > (unsigned int)station ) {
539  return bwoAcc( *this ).at( station );
540  } else {
541  return 0.;
542  }
543 
544  }
545 
546  return 0.;
547  }
548 
550  float L2StandAloneMuon_v1::zMin( int station, int sector ) const {
551 
552  if ( station < 0 ) return 0;
553 
554  if ( sector == 0 ) {
556  if ( zminnAcc( *this ).size() > (unsigned int)station ) {
557  return zminnAcc( *this ).at( station );
558  } else {
559  return 0.;
560  }
561 
562  } else if ( sector == 1 ) {
564 
565  if ( zminoAcc( *this ).size() > (unsigned int)station ) {
566  return zminoAcc( *this ).at( station );
567  } else {
568  return 0.;
569  }
570 
571  }
572 
573  return 0.;
574  }
575 
576  float L2StandAloneMuon_v1::zMax( int station, int sector ) const {
577 
578  if ( station < 0 ) return 0;
579 
580  if ( sector == 0 ) {
582  if ( zmaxnAcc( *this ).size() > (unsigned int)station ) {
583  return zmaxnAcc( *this ).at( station );
584  } else {
585  return 0.;
586  }
587 
588  } else if ( sector == 1 ) {
590 
591  if ( zmaxoAcc( *this ).size() > (unsigned int)station ) {
592  return zmaxoAcc( *this ).at( station );
593  } else {
594  return 0.;
595  }
596 
597  }
598 
599  return 0.;
600  }
601 
603  float L2StandAloneMuon_v1::rMin( int station, int sector ) const {
604 
605  if ( station < 0 ) return 0;
606 
607  if ( sector == 0 ) {
609  if ( rminnAcc( *this ).size() > (unsigned int)station ) {
610  return rminnAcc( *this ).at( station );
611  } else {
612  return 0.;
613  }
614 
615  } else if ( sector == 1 ) {
617 
618  if ( rminoAcc( *this ).size() > (unsigned int)station ) {
619  return rminoAcc( *this ).at( station );
620  } else {
621  return 0.;
622  }
623 
624  }
625 
626  return 0.;
627  }
628 
629  float L2StandAloneMuon_v1::rMax( int station, int sector ) const {
630 
631  if ( station < 0 ) return 0;
632 
633  if ( sector == 0 ) {
635  if ( rmaxnAcc( *this ).size() > (unsigned int)station ) {
636  return rmaxnAcc( *this ).at( station );
637  } else {
638  return 0.;
639  }
640 
641  } else if ( sector == 1 ) {
643 
644  if ( rmaxoAcc( *this ).size() > (unsigned int)station ) {
645  return rmaxoAcc( *this ).at( station );
646  } else {
647  return 0.;
648  }
649 
650  }
651 
652  return 0.;
653  }
654 
656  float L2StandAloneMuon_v1::etaMin( int station, int sector ) const {
657 
658  if ( station < 0 ) return 0;
659 
660  if ( sector == 0 ) {
662  if ( eminnAcc( *this ).size() > (unsigned int)station ) {
663  return eminnAcc( *this ).at( station );
664  } else {
665  return 0.;
666  }
667 
668  } else if ( sector == 1 ) {
670 
671  if ( eminoAcc( *this ).size() > (unsigned int)station ) {
672  return eminoAcc( *this ).at( station );
673  } else {
674  return 0.;
675  }
676 
677  }
678 
679  return 0.;
680  }
681 
682  float L2StandAloneMuon_v1::etaMax( int station, int sector ) const {
683 
684  if ( station < 0 ) return 0;
685 
686  if ( sector == 0 ) {
688  if ( emaxnAcc( *this ).size() > (unsigned int)station ) {
689  return emaxnAcc( *this ).at( station );
690  } else {
691  return 0.;
692  }
693 
694  } else if ( sector == 1 ) {
696 
697  if ( emaxoAcc( *this ).size() > (unsigned int)station ) {
698  return emaxoAcc( *this ).at( station );
699  } else {
700  return 0.;
701  }
702 
703  }
704 
705  return 0.;
706  }
707 
708 
710 
712  void L2StandAloneMuon_v1::setChamberType1( int station, int sector, int chamberType ) {
713 
714  // Make sure that the variables are big enough:
715  if( ct1nAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
716  ct1nAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
717  }
718  if( ct1oAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
719  ct1oAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
720  }
721 
722  // Make sure that the variables are big enough:
723  if ( station < 0 || station >= L2MuonParameters::Chamber::MaxChamber ) return;
724  if ( sector < 0 || sector > 1 ) return;
725 
726  if (sector == 0 ) {
728  ct1nAcc( *this ).at( station ) = chamberType;
729 
730  } else if ( sector == 1 ) {
732  ct1oAcc( *this ).at( station ) = chamberType;
733 
734  }
735 
736  return;
737  }
738 
739  void L2StandAloneMuon_v1::setChamberType2( int station, int sector, int chamberType ) {
740 
741  // Make sure that the variables are big enough:
742  if( ct2nAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
743  ct2nAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
744  }
745  if( ct2oAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
746  ct2oAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
747  }
748 
749  // Make sure that the variables are big enough:
750  if ( station < 0 || station >= L2MuonParameters::Chamber::MaxChamber ) return;
751  if ( sector < 0 || sector > 1 ) return;
752 
753  if (sector == 0 ) {
755  ct2nAcc( *this ).at( station ) = chamberType;
756 
757  } else if ( sector == 1 ) {
759  ct2oAcc( *this ).at( station ) = chamberType;
760 
761  }
762 
763  return;
764  }
765 
767  void L2StandAloneMuon_v1::setRoad( int station, int sector, float aw, float bw ) {
768 
769  // Make sure that the variables are big enough:
770  if( awnAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
771  awnAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
772  }
773  if( bwnAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
774  bwnAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
775  }
776  if( awoAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
777  awoAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
778  }
779  if( bwoAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
780  bwoAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
781  }
782 
783  // Make sure that the variables are big enough:
784  if ( station < 0 || station >= L2MuonParameters::Chamber::MaxChamber ) return;
785  if ( sector < 0 || sector > 1 ) return;
786 
787  if (sector == 0 ) {
789 
791  awnAcc( *this ).at( station ) = aw;
792 
794  bwnAcc( *this ).at( station ) = bw;
795 
796  } else if ( sector == 1 ) {
798 
800  awoAcc( *this ).at( station ) = aw;
801 
803  bwoAcc( *this ).at( station ) = bw;
804 
805  }
806 
807  return;
808  }
809 
811  void L2StandAloneMuon_v1::setRegionZ( int station, int sector, float min, float max ) {
812 
813  // Make sure that the variables are big enough:
814  if( zminnAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
815  zminnAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
816  }
817  if( zmaxnAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
818  zmaxnAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
819  }
820  if( zminoAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
821  zminoAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
822  }
823  if( zmaxoAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
824  zmaxoAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
825  }
826 
827  // Make sure that the variables are big enough:
828  if ( station < 0 || station >= L2MuonParameters::Chamber::MaxChamber ) return;
829  if ( sector < 0 || sector > 1 ) return;
830 
831  if (sector == 0 ) {
833 
835  zminnAcc( *this ).at( station ) = min;
836 
838  zmaxnAcc( *this ).at( station ) = max;
839 
840  } else if ( sector == 1 ) {
842 
844  zminoAcc( *this ).at( station ) = min;
845 
847  zmaxoAcc( *this ).at( station ) = max;
848 
849  }
850 
851  return;
852  }
853 
855  void L2StandAloneMuon_v1::setRegionR( int station, int sector, float min, float max ) {
856 
857  // Make sure that the variables are big enough:
858  if( rminnAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
859  rminnAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
860  }
861  if( rmaxnAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
862  rmaxnAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
863  }
864  if( rminoAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
865  rminoAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
866  }
867  if( rmaxoAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
868  rmaxoAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
869  }
870 
871  // Make sure that the variables are big enough:
872  if ( station < 0 || station >= L2MuonParameters::Chamber::MaxChamber ) return;
873  if ( sector < 0 || sector > 1 ) return;
874 
875  if (sector == 0 ) {
877 
879  rminnAcc( *this ).at( station ) = min;
880 
882  rmaxnAcc( *this ).at( station ) = max;
883 
884  } else if ( sector == 1 ) {
886 
888  rminoAcc( *this ).at( station ) = min;
889 
891  rmaxoAcc( *this ).at( station ) = max;
892 
893  }
894 
895  return;
896  }
897 
899  void L2StandAloneMuon_v1::setRegionEta( int station, int sector, float min, float max ) {
900 
901  // Make sure that the variables are big enough:
902  if( eminnAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
903  eminnAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
904  }
905  if( emaxnAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
906  emaxnAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
907  }
908  if( eminoAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
909  eminoAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
910  }
911  if( emaxoAcc( *this ).size() < L2MuonParameters::Chamber::MaxChamber ) {
912  emaxoAcc( *this ).resize( L2MuonParameters::Chamber::MaxChamber, 0.0 );
913  }
914 
915  // Make sure that the variables are big enough:
916  if ( station < 0 || station >= L2MuonParameters::Chamber::MaxChamber ) return;
917  if ( sector < 0 || sector > 1 ) return;
918 
919  if (sector == 0 ) {
921 
923  eminnAcc( *this ).at( station ) = min;
924 
926  emaxnAcc( *this ).at( station ) = max;
927 
928  } else if ( sector == 1 ) {
930 
932  eminoAcc( *this ).at( station ) = min;
933 
935  emaxoAcc( *this ).at( station ) = max;
936 
937  }
938 
939  return;
940  }
941 
944 
949 
954 
955  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, float, tgcInnRhoStd )
957  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, float, tgcInnPhiStd )
959 
960  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, float, tgcMid1Eta )
961  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, float, tgcMid1Phi )
964 
965  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, float, tgcMid2Eta )
966  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, float, tgcMid2Phi )
969 
970  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, float, tgcMidRhoChi2 )
972  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, float, tgcMidPhiChi2 )
974 
975 
976  void L2StandAloneMuon_v1::setTgcInn( float eta, float phi, float r, float z ) {
977 
978  static const Accessor< float > tieAcc( "tgcInnEta" );
979  static const Accessor< float > tipAcc( "tgcInnPhi" );
980  static const Accessor< float > tirAcc( "tgcInnR" );
981  static const Accessor< float > tizAcc( "tgcInnZ" );
982 
983  tieAcc( *this ) = eta;
984  tipAcc( *this ) = phi;
985  tirAcc( *this ) = r;
986  tizAcc( *this ) = z;
987 
988  return;
989  }
990 
991  void L2StandAloneMuon_v1::setTgcInnF( float rhoStd, long rhoN, float phiStd, long phiN ) {
992 
993  static const Accessor< float > tirsAcc( "tgcInnRhoStd" );
994  static const Accessor< long > tirnAcc( "tgcInnRhoN" );
995  static const Accessor< float > tipsAcc( "tgcInnPhiStd" );
996  static const Accessor< long > tipnAcc( "tgcInnPhiN" );
997 
998  tirsAcc( *this ) = rhoStd;
999  tirnAcc( *this ) = rhoN;
1000  tipsAcc( *this ) = phiStd;
1001  tipnAcc( *this ) = phiN;
1002 
1003  return;
1004  }
1005 
1006  void L2StandAloneMuon_v1::setTgcMid1( float eta, float phi, float r, float z ) {
1007 
1008  static const Accessor< float > tm1eAcc( "tgcMid1Eta" );
1009  static const Accessor< float > tm1pAcc( "tgcMid1Phi" );
1010  static const Accessor< float > tm1rAcc( "tgcMid1R" );
1011  static const Accessor< float > tm1zAcc( "tgcMid1Z" );
1012 
1013  tm1eAcc( *this ) = eta;
1014  tm1pAcc( *this ) = phi;
1015  tm1rAcc( *this ) = r;
1016  tm1zAcc( *this ) = z;
1017 
1018  return;
1019  }
1020 
1021  void L2StandAloneMuon_v1::setTgcMid2( float eta, float phi, float r, float z ) {
1022 
1023  static const Accessor< float > tm2eAcc( "tgcMid2Eta" );
1024  static const Accessor< float > tm2pAcc( "tgcMid2Phi" );
1025  static const Accessor< float > tm2rAcc( "tgcMid2R" );
1026  static const Accessor< float > tm2zAcc( "tgcMid2Z" );
1027 
1028  tm2eAcc( *this ) = eta;
1029  tm2pAcc( *this ) = phi;
1030  tm2rAcc( *this ) = r;
1031  tm2zAcc( *this ) = z;
1032 
1033  return;
1034  }
1035 
1036  void L2StandAloneMuon_v1::setTgcMidF( float rhoChi2, long rhoN, float phiChi2, long phiN ) {
1037 
1038  static const Accessor< float > tmrcAcc( "tgcMidRhoChi2" );
1039  static const Accessor< long > tmrnAcc( "tgcMidRhoN" );
1040  static const Accessor< float > tmpcAcc( "tgcMidPhiChi2" );
1041  static const Accessor< long > tmpnAcc( "tgcMidPhiN" );
1042 
1043  tmrcAcc( *this ) = rhoChi2;
1044  tmrnAcc( *this ) = rhoN;
1045  tmpcAcc( *this ) = phiChi2;
1046  tmpnAcc( *this ) = phiN;
1047 
1048  return;
1049  }
1052 
1059 
1063 
1067 
1068 
1069  void L2StandAloneMuon_v1::setRpc1( float x, float y, float z ) {
1070 
1071  static const Accessor< float > r1xAcc( "rpc1x" );
1072  static const Accessor< float > r1yAcc( "rpc1y" );
1073  static const Accessor< float > r1zAcc( "rpc1z" );
1074 
1075  r1xAcc( *this ) = x;
1076  r1yAcc( *this ) = y;
1077  r1zAcc( *this ) = z;
1078 
1079  return;
1080  }
1081 
1082  void L2StandAloneMuon_v1::setRpc2( float x, float y, float z ) {
1083 
1084  static const Accessor< float > r2xAcc( "rpc2x" );
1085  static const Accessor< float > r2yAcc( "rpc2y" );
1086  static const Accessor< float > r2zAcc( "rpc2z" );
1087 
1088  r2xAcc( *this ) = x;
1089  r2yAcc( *this ) = y;
1090  r2zAcc( *this ) = z;
1091 
1092  return;
1093  }
1094 
1095  void L2StandAloneMuon_v1::setRpc3( float x, float y, float z ) {
1096 
1097  static const Accessor< float > r3xAcc( "rpc3x" );
1098  static const Accessor< float > r3yAcc( "rpc3y" );
1099  static const Accessor< float > r3zAcc( "rpc3z" );
1100 
1101  r3xAcc( *this ) = x;
1102  r3yAcc( *this ) = y;
1103  r3zAcc( *this ) = z;
1104 
1105  return;
1106  }
1107 
1111  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext0Acc( "extension0" );
1112  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext1Acc( "extension1" );
1113  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext2Acc( "extension2" );
1114  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext3Acc( "extension3" );
1115  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext4Acc( "extension4" );
1116  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext5Acc( "extension5" );
1117  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext6Acc( "extension6" );
1118  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext7Acc( "extension7" );
1119  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext8Acc( "extension8" );
1120  static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext9Acc( "extension9" );
1121 
1123  static const SG::AuxElement::Accessor< std::vector< uint32_t > > lvl1eAcc( "lvl1Emulation" );
1124 
1126  static const SG::AuxElement::Accessor< std::vector< uint32_t > > robidAcc( "robId" );
1127  static const SG::AuxElement::Accessor< std::vector< uint32_t > > robrmAcc( "removedRobId" );
1128 
1130  static const SG::AuxElement::Accessor< std::vector< uint32_t > > csmidAcc( "csmId" );
1131  static const SG::AuxElement::Accessor< std::vector< uint32_t > > csmszAcc( "csmSize" );
1132  static const SG::AuxElement::Accessor< std::vector< uint32_t > > csmerAcc( "csmError" );
1133  static const SG::AuxElement::Accessor< std::vector< uint32_t > > csmrmAcc( "removedCsmId" );
1134 
1136  static const SG::AuxElement::Accessor< std::vector< uint32_t > > padiAcc( "padHitOnlineId" );
1137  static const SG::AuxElement::Accessor< std::vector< uint32_t > > padcAcc( "padHitCode" );
1138  static const SG::AuxElement::Accessor< std::vector< float > > padxAcc( "padHitX" );
1139  static const SG::AuxElement::Accessor< std::vector< float > > padyAcc( "padHitY" );
1140  static const SG::AuxElement::Accessor< std::vector< float > > padzAcc( "padHitZ" );
1141  static const SG::AuxElement::Accessor< std::vector< float > > padrAcc( "padHitR" );
1142  static const SG::AuxElement::Accessor< std::vector< float > > padpAcc( "padHitP" );
1143 
1145  static const SG::AuxElement::Accessor< std::vector< float > > tirpAcc( "tgcInnRhoHitPhi" );
1146  static const SG::AuxElement::Accessor< std::vector< float > > tirrAcc( "tgcInnRhoHitR" );
1147  static const SG::AuxElement::Accessor< std::vector< float > > tirzAcc( "tgcInnRhoHitZ" );
1148  static const SG::AuxElement::Accessor< std::vector< float > > tirwAcc( "tgcInnRhoHitWidth" );
1149  static const SG::AuxElement::Accessor< std::vector< uint32_t > > tiriAcc( "tgcInnRhoHitInSeg" );
1150  static const SG::AuxElement::Accessor< std::vector< float > > tippAcc( "tgcInnPhiHitPhi" );
1151  static const SG::AuxElement::Accessor< std::vector< float > > tiprAcc( "tgcInnPhiHitR" );
1152  static const SG::AuxElement::Accessor< std::vector< float > > tipzAcc( "tgcInnPhiHitZ" );
1153  static const SG::AuxElement::Accessor< std::vector< float > > tipwAcc( "tgcInnPhiHitWidth" );
1154  static const SG::AuxElement::Accessor< std::vector< uint32_t > > tipiAcc( "tgcInnPhiHitInSeg" );
1155  static const SG::AuxElement::Accessor< std::vector< float > > tmrpAcc( "tgcMidRhoHitPhi" );
1156  static const SG::AuxElement::Accessor< std::vector< float > > tmrrAcc( "tgcMidRhoHitR" );
1157  static const SG::AuxElement::Accessor< std::vector< float > > tmrzAcc( "tgcMidRhoHitZ" );
1158  static const SG::AuxElement::Accessor< std::vector< float > > tmrwAcc( "tgcMidRhoHitWidth" );
1159  static const SG::AuxElement::Accessor< std::vector< uint32_t > > tmriAcc( "tgcMidRhoHitInSeg" );
1160  static const SG::AuxElement::Accessor< std::vector< float > > tmppAcc( "tgcMidPhiHitPhi" );
1161  static const SG::AuxElement::Accessor< std::vector< float > > tmprAcc( "tgcMidPhiHitR" );
1162  static const SG::AuxElement::Accessor< std::vector< float > > tmpzAcc( "tgcMidPhiHitZ" );
1163  static const SG::AuxElement::Accessor< std::vector< float > > tmpwAcc( "tgcMidPhiHitWidth" );
1164  static const SG::AuxElement::Accessor< std::vector< uint32_t > > tmpiAcc( "tgcMidPhiHitInSeg" );
1165 
1167  static const SG::AuxElement::Accessor< std::vector< uint32_t > > mdtonAcc( "mdtHitOnlineId" );
1168  static const SG::AuxElement::Accessor< std::vector< uint32_t > > mdtoffAcc( "mdtHitOfflineId" );
1169  static const SG::AuxElement::Accessor< std::vector< float > > mdtrAcc( "mdtHitR" );
1170  static const SG::AuxElement::Accessor< std::vector< float > > mdtzAcc( "mdtHitZ" );
1171  static const SG::AuxElement::Accessor< std::vector< float > > mdtresAcc( "mdtHitResidual" );
1172  static const SG::AuxElement::Accessor< std::vector< float > > mdttAcc( "mdtHitTime" );
1173  static const SG::AuxElement::Accessor< std::vector< float > > mdtspcAcc( "mdtHitSpace" );
1174  static const SG::AuxElement::Accessor< std::vector< float > > mdtsigAcc( "mdtHitSigma" );
1177 
1181  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, int, extensionCapacity )
1182  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, int, robCapacity )
1183  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, int, csmCapacity )
1184  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, int, lvl1EmuCapacity )
1185  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, int, rpcHitsCapacity )
1186  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, int, tgcHitsCapacity )
1187  AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, int, mdtHitsCapacity )
1188 
1189 
1190  void L2StandAloneMuon_v1::setExtensionCapacity( int value ) {
1191 
1192  static const Accessor< int > ecapAcc( "extensionCapacity" );
1193  ecapAcc( *this ) = value;
1194 
1195  if ( value > 0 ) {
1196  ext0Acc( *this ).reserve( (unsigned int)value );
1197  ext1Acc( *this ).reserve( (unsigned int)value );
1198  ext2Acc( *this ).reserve( (unsigned int)value );
1199  ext3Acc( *this ).reserve( (unsigned int)value );
1200  ext4Acc( *this ).reserve( (unsigned int)value );
1201  ext5Acc( *this ).reserve( (unsigned int)value );
1202  ext6Acc( *this ).reserve( (unsigned int)value );
1203  ext7Acc( *this ).reserve( (unsigned int)value );
1204  ext8Acc( *this ).reserve( (unsigned int)value );
1205  ext9Acc( *this ).reserve( (unsigned int)value );
1206  }
1207 
1208  return;
1209  }
1210 
1213 
1214  static const Accessor< int > rcapAcc( "robCapacity" );
1215  rcapAcc( *this ) = value;
1216 
1217  if ( value > 0 ) {
1218  robidAcc( *this ).reserve( (unsigned int)value );
1219  robrmAcc( *this ).reserve( (unsigned int)value );
1220  }
1221 
1222  return;
1223  }
1224 
1227 
1228  static const Accessor< int > ccapAcc( "csmCapacity" );
1229  ccapAcc( *this ) = value;
1230 
1231  if ( value > 0 ) {
1232  csmidAcc( *this ).reserve( (unsigned int)value );
1233  csmszAcc( *this ).reserve( (unsigned int)value );
1234  csmerAcc( *this ).reserve( (unsigned int)value );
1235  csmrmAcc( *this ).reserve( (unsigned int)value );
1236  }
1237 
1238  return;
1239  }
1240 
1243 
1244  static const Accessor< int > lcapAcc( "lvl1EmuCapacity" );
1245  lcapAcc( *this ) = value;
1246 
1247  if ( value > 0 ) {
1248  lvl1eAcc( *this ).reserve( (unsigned int)value );
1249  }
1250 
1251  return;
1252  }
1253 
1256 
1257  static const Accessor< int > rcapAcc( "rpcHitsCapacity" );
1258  rcapAcc( *this ) = value;
1259 
1260  if ( value > 0 ) {
1261  padiAcc( *this ).reserve( (unsigned int)value );
1262  padcAcc( *this ).reserve( (unsigned int)value );
1263  padxAcc( *this ).reserve( (unsigned int)value );
1264  padyAcc( *this ).reserve( (unsigned int)value );
1265  padzAcc( *this ).reserve( (unsigned int)value );
1266  padrAcc( *this ).reserve( (unsigned int)value );
1267  padpAcc( *this ).reserve( (unsigned int)value );
1268  }
1269 
1270  return;
1271  }
1272 
1275 
1276  static const Accessor< int > tcapAcc( "tgcHitsCapacity" );
1277  tcapAcc( *this ) = value;
1278 
1279  if ( value > 0 ) {
1280  tirpAcc( *this ).reserve( (unsigned int)value );
1281  tirrAcc( *this ).reserve( (unsigned int)value );
1282  tirzAcc( *this ).reserve( (unsigned int)value );
1283  tirwAcc( *this ).reserve( (unsigned int)value );
1284  tiriAcc( *this ).reserve( (unsigned int)value );
1285  tippAcc( *this ).reserve( (unsigned int)value );
1286  tiprAcc( *this ).reserve( (unsigned int)value );
1287  tipzAcc( *this ).reserve( (unsigned int)value );
1288  tipwAcc( *this ).reserve( (unsigned int)value );
1289  tipiAcc( *this ).reserve( (unsigned int)value );
1290  tmrpAcc( *this ).reserve( (unsigned int)value );
1291  tmrrAcc( *this ).reserve( (unsigned int)value );
1292  tmrzAcc( *this ).reserve( (unsigned int)value );
1293  tmrwAcc( *this ).reserve( (unsigned int)value );
1294  tmriAcc( *this ).reserve( (unsigned int)value );
1295  tmppAcc( *this ).reserve( (unsigned int)value );
1296  tmprAcc( *this ).reserve( (unsigned int)value );
1297  tmpzAcc( *this ).reserve( (unsigned int)value );
1298  tmpwAcc( *this ).reserve( (unsigned int)value );
1299  tmpiAcc( *this ).reserve( (unsigned int)value );
1300  }
1301 
1302  return;
1303  }
1304 
1307 
1308  static const Accessor< int > mcapAcc( "mdtHitsCapacity" );
1309  mcapAcc( *this ) = value;
1310 
1311  if ( value > 0 ) {
1312  mdtonAcc( *this ).reserve( (unsigned int)value );
1313  mdtoffAcc( *this ).reserve( (unsigned int)value );
1314  mdtrAcc( *this ).reserve( (unsigned int)value );
1315  mdtzAcc( *this ).reserve( (unsigned int)value );
1316  mdtresAcc( *this ).reserve( (unsigned int)value );
1317  mdttAcc( *this ).reserve( (unsigned int)value );
1318  mdtspcAcc( *this ).reserve( (unsigned int)value );
1319  mdtsigAcc( *this ).reserve( (unsigned int)value );
1320  }
1321 
1322  return;
1323  }
1324 
1325 
1326  void L2StandAloneMuon_v1::setCapacities( int ext, int rob, int csm, int lvl1, int rpc, int tgc, int mdt ) {
1327 
1329  setRobCapacity( rob );
1330  setCsmCapacity( csm );
1331  setLvl1EmuCapacity( lvl1 );
1332  setRpcHitsCapacity( rpc );
1333  setTgcHitsCapacity( tgc );
1334  setMdtHitsCapacity( mdt );
1335 
1336  return;
1337  }
1340 
1343  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension0 )
1344  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension1 )
1345  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension2 )
1346  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension3 )
1347  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension4 )
1348  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension5 )
1349  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension6 )
1350  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension7 )
1351  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension8 )
1352  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, extension9 )
1353 
1354 
1355  void L2StandAloneMuon_v1::setExtension0( uint32_t value ) {
1356  // Make sure that the size of vector is still within the capacity
1357  if ( ext0Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1358  // Set the variables:
1359  ext0Acc( *this ).push_back( value );
1360  }
1362  // Make sure that the size of vector is still within the capacity
1363  if ( ext1Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1364  // Set the variables:
1365  ext1Acc( *this ).push_back( value );
1366  }
1368  // Make sure that the size of vector is still within the capacity
1369  if ( ext2Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1370  // Set the variables:
1371  ext2Acc( *this ).push_back( value );
1372  }
1374  // Make sure that the size of vector is still within the capacity
1375  if ( ext3Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1376  // Set the variables:
1377  ext3Acc( *this ).push_back( value );
1378  }
1380  // Make sure that the size of vector is still within the capacity
1381  if ( ext4Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1382  // Set the variables:
1383  ext4Acc( *this ).push_back( value );
1384  }
1386  // Make sure that the size of vector is still within the capacity
1387  if ( ext5Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1388  // Set the variables:
1389  ext5Acc( *this ).push_back( value );
1390  }
1392  // Make sure that the size of vector is still within the capacity
1393  if ( ext6Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1394  // Set the variables:
1395  ext6Acc( *this ).push_back( value );
1396  }
1398  // Make sure that the size of vector is still within the capacity
1399  if ( ext7Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1400  // Set the variables:
1401  ext7Acc( *this ).push_back( value );
1402  }
1404  // Make sure that the size of vector is still within the capacity
1405  if ( ext8Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1406  // Set the variables:
1407  ext8Acc( *this ).push_back( value );
1408  }
1410  // Make sure that the size of vector is still within the capacity
1411  if ( ext9Acc( *this ).size() >= (unsigned int)extensionCapacity() ) return;
1412  // Set the variables:
1413  ext9Acc( *this ).push_back( value );
1414  }
1417 
1421  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, lvl1Emulation )
1422 
1423 
1424  void L2StandAloneMuon_v1::setEtaPivot(uint32_t ly0, uint32_t ly1 ) {
1425 
1426  if ( lvl1eAcc( *this ).size() < 2 ) lvl1eAcc( *this ).resize( 2 );
1427 
1428  lvl1eAcc( *this ).at( 0 ) = ly0;
1429  lvl1eAcc( *this ).at( 1 ) = ly1;
1430 
1431  return;
1432  }
1433 
1435 
1436  if ( lvl1eAcc( *this ).size() < 6 ) lvl1eAcc( *this ).resize( 6 );
1437 
1438  lvl1eAcc( *this ).at( 2 ) = ly00;
1439  lvl1eAcc( *this ).at( 3 ) = ly01;
1440  lvl1eAcc( *this ).at( 4 ) = ly10;
1441  lvl1eAcc( *this ).at( 5 ) = ly11;
1442 
1443  return;
1444  }
1445 
1447 
1448  if ( lvl1eAcc( *this ).size() < 10 ) lvl1eAcc( *this ).resize( 10 );
1449 
1450  lvl1eAcc( *this ).at( 6 ) = ly00;
1451  lvl1eAcc( *this ).at( 7 ) = ly01;
1452  lvl1eAcc( *this ).at( 8 ) = ly10;
1453  lvl1eAcc( *this ).at( 9 ) = ly11;
1454 
1455  return;
1456  }
1457 
1459 
1460  if ( lvl1eAcc( *this ).size() < 12 ) lvl1eAcc( *this ).resize( 12 );
1461 
1462  lvl1eAcc( *this ).at( 10 ) = ly0;
1463  lvl1eAcc( *this ).at( 11 ) = ly1;
1464 
1465  return;
1466  }
1467 
1469 
1470  if ( lvl1eAcc( *this ).size() < 16 ) lvl1eAcc( *this ).resize( 16 );
1471 
1472  lvl1eAcc( *this ).at( 12 ) = ly00;
1473  lvl1eAcc( *this ).at( 13 ) = ly01;
1474  lvl1eAcc( *this ).at( 14 ) = ly10;
1475  lvl1eAcc( *this ).at( 15 ) = ly11;
1476 
1477  return;
1478  }
1479 
1481 
1482  if ( lvl1eAcc( *this ).size() < 20 ) lvl1eAcc( *this ).resize( 20 );
1483 
1484  lvl1eAcc( *this ).at( 16 ) = ly00;
1485  lvl1eAcc( *this ).at( 17 ) = ly01;
1486  lvl1eAcc( *this ).at( 18 ) = ly10;
1487  lvl1eAcc( *this ).at( 19 ) = ly11;
1488 
1489  return;
1490  }
1493 
1497  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, robId )
1498  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, removedRobId )
1499 
1500 
1501  void L2StandAloneMuon_v1::setRequestedRob( uint32_t rob ) {
1502 
1503  // Make sure that the size of vector is still within the capacity
1504  if ( robidAcc( *this ).size() >= (unsigned int)robCapacity() ) return;
1505 
1506  // Set the variables:
1507  robidAcc( *this ).push_back( rob );
1508 
1509  return;
1510  }
1511 
1513 
1514  // Make sure that the size of vector is still within the capacity
1515  if ( robrmAcc( *this ).size() >= (unsigned int)robCapacity() ) return;
1516 
1517  // Set the variables:
1518  robrmAcc( *this ).push_back( rob );
1519 
1520  return;
1521  }
1524 
1528  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, csmId )
1529  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, csmSize )
1530  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, csmError )
1531  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, removedCsmId )
1532 
1533 
1534  void L2StandAloneMuon_v1::setConvertedCsm( uint32_t csm, uint32_t sz ) {
1535 
1536  // Make sure that the size of vector is still within the capacity
1537  if ( csmidAcc( *this ).size() >= (unsigned int)csmCapacity() ) return;
1538 
1539  // Set the variables:
1540  csmidAcc( *this ).push_back( csm );
1541  csmszAcc( *this ).push_back( sz );
1542 
1543  return;
1544  }
1545 
1547 
1548  // Make sure that the size of vector is still within the capacity
1549  if ( csmerAcc( *this ).size() >= (unsigned int)csmCapacity() ) return;
1550 
1551  // Set the variables:
1552  csmerAcc( *this ).push_back( err );
1553 
1554  return;
1555  }
1556 
1557 
1559  // Make sure that the size of vector is still within the capacity
1560  if ( csmrmAcc( *this ).size() >= (unsigned int)csmCapacity() ) return;
1561 
1562  // Set the variables:
1563  csmrmAcc( *this ).push_back( csm );
1564 
1565  return;
1566  }
1569 
1573  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, padHitOnlineId)
1574  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, padHitCode)
1575  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, padHitX)
1576  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, padHitY)
1577  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, padHitZ)
1578  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, padHitR)
1579  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, padHitP)
1580 
1581 
1582  void L2StandAloneMuon_v1::setPadHit(uint32_t onlineId, uint32_t code, float x, float y, float z,
1583  float r, float p) {
1584  // Make sure that the size of vector is still within the capacity
1585  if ( padiAcc( *this ).size() >= (unsigned int)rpcHitsCapacity() ) return;
1586 
1587  // Set the variables:
1588  padiAcc( *this ).push_back( onlineId );
1589  padcAcc( *this ).push_back( code );
1590  padxAcc( *this ).push_back( x );
1591  padyAcc( *this ).push_back( y );
1592  padzAcc( *this ).push_back( z );
1593  padrAcc( *this ).push_back( r );
1594  padpAcc( *this ).push_back( p );
1595 
1596  return;
1597  }
1600 
1604  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcInnRhoHitPhi)
1605  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcInnRhoHitR)
1606  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcInnRhoHitZ)
1607  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcInnRhoHitWidth)
1608  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, tgcInnRhoHitInSeg)
1609  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcInnPhiHitPhi)
1610  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcInnPhiHitR)
1611  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcInnPhiHitZ)
1612  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcInnPhiHitWidth)
1613  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, tgcInnPhiHitInSeg)
1614  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcMidRhoHitPhi)
1615  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcMidRhoHitR)
1616  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcMidRhoHitZ)
1617  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcMidRhoHitWidth)
1618  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, tgcMidRhoHitInSeg)
1619  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcMidPhiHitPhi)
1620  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcMidPhiHitR)
1621  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcMidPhiHitZ)
1622  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< float >, tgcMidPhiHitWidth)
1623  AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, tgcMidPhiHitInSeg)
1624 
1625 
1626  void L2StandAloneMuon_v1::setTgcInnRhoHit( float phi, float r, float z, float width, uint32_t in_seg ) {
1627 
1628  // Make sure that the size of vector is still within the capacity
1629  if ( tirpAcc( *this ).size() >= (unsigned int)tgcHitsCapacity() ) return;
1630 
1631  // Set the variables:
1632  tirpAcc( *this ).push_back( phi );
1633  tirrAcc( *this ).push_back( r );
1634  tirzAcc( *this ).push_back( z );
1635  tirwAcc( *this ).push_back( width );
1636  tiriAcc( *this ).push_back( in_seg );
1637 
1638  return;
1639  }
1640 
1641  void L2StandAloneMuon_v1::setTgcInnPhiHit( float phi, float r, float z, float width, uint32_t in_seg ) {
1642 
1643  // Make sure that the size of vector is still within the capacity
1644  if ( tippAcc( *this ).size() >= (unsigned int)tgcHitsCapacity() ) return;
1645 
1646  // Set the variables:
1647  tippAcc( *this ).push_back( phi );
1648  tiprAcc( *this ).push_back( r );
1649  tipzAcc( *this ).push_back( z );
1650  tipwAcc( *this ).push_back( width );
1651  tipiAcc( *this ).push_back( in_seg );
1652 
1653  return;
1654  }
1655 
1656  void L2StandAloneMuon_v1::setTgcMidRhoHit( float phi, float r, float z, float width, uint32_t in_seg ) {
1657 
1658  // Make sure that the size of vector is still within the capacity
1659  if ( tmrpAcc( *this ).size() >= (unsigned int)tgcHitsCapacity() ) return;
1660 
1661  // Set the variables:
1662  tmrpAcc( *this ).push_back( phi );
1663  tmrrAcc( *this ).push_back( r );
1664  tmrzAcc( *this ).push_back( z );
1665  tmrwAcc( *this ).push_back( width );
1666  tmriAcc( *this ).push_back( in_seg );
1667 
1668  return;
1669  }
1670 
1671  void L2StandAloneMuon_v1::setTgcMidPhiHit( float phi, float r, float z, float width, uint32_t in_seg ) {
1672 
1673  // Make sure that the size of vector is still within the capacity
1674  if ( tmppAcc( *this ).size() >= (unsigned int)tgcHitsCapacity() ) return;
1675 
1676  // Set the variables:
1677  tmppAcc( *this ).push_back( phi );
1678  tmprAcc( *this ).push_back( r );
1679  tmpzAcc( *this ).push_back( z );
1680  tmpwAcc( *this ).push_back( width );
1681  tmpiAcc( *this ).push_back( in_seg );
1682 
1683  return;
1684  }
1687 
1692  return mdtonAcc( *this ).size();
1693  }
1694 
1696  if( mdtonAcc( *this ).size() > tube ) {
1697  return mdtonAcc( *this ).at( tube );
1698  } else {
1699  return 0;
1700  }
1701  }
1702 
1704  if( mdtoffAcc( *this ).size() > tube ) {
1705  return mdtoffAcc( *this ).at( tube );
1706  } else {
1707  return 0;
1708  }
1709  }
1710 
1712  static const SG::AuxElement::Accessor< std::vector< uint32_t > > mdtcAcc( "mdtHitChamber" );
1713  if( mdtcAcc( *this ).size() > tube ) {
1714  return mdtcAcc( *this ).at( tube );
1715  } else {
1716  return 0;
1717  }
1718  }
1719 
1720  float L2StandAloneMuon_v1::mdtHitR( unsigned int tube ) const {
1721  if( mdtrAcc( *this ).size() > tube ) {
1722  return mdtrAcc( *this ).at( tube );
1723  } else {
1724  return 0.;
1725  }
1726  }
1727 
1728  float L2StandAloneMuon_v1::mdtHitZ( unsigned int tube ) const {
1729  if( mdtzAcc( *this ).size() > tube ) {
1730  return mdtzAcc( *this ).at( tube );
1731  } else {
1732  return 0.;
1733  }
1734  }
1735 
1736  float L2StandAloneMuon_v1::mdtHitResidual( unsigned int tube ) const {
1737  if( mdtresAcc( *this ).size() > tube ) {
1738  return mdtresAcc( *this ).at( tube );
1739  } else {
1740  return 0.;
1741  }
1742  }
1743 
1744  float L2StandAloneMuon_v1::mdtHitTime( unsigned int tube ) const {
1745  if( mdttAcc( *this ).size() > tube ) {
1746  return mdttAcc( *this ).at( tube );
1747  } else {
1748  return 0.;
1749  }
1750  }
1751 
1752  float L2StandAloneMuon_v1::mdtHitSpace( unsigned int tube ) const {
1753  if( mdtspcAcc( *this ).size() > tube ) {
1754  return mdtspcAcc( *this ).at( tube );
1755  } else {
1756  return 0.;
1757  }
1758  }
1759 
1760  float L2StandAloneMuon_v1::mdtHitSigma( unsigned int tube ) const {
1761  if( mdtsigAcc( *this ).size() > tube ) {
1762  return mdtsigAcc( *this ).at( tube );
1763  } else {
1764  return 0.;
1765  }
1766  }
1767 
1768  void L2StandAloneMuon_v1::setMdtHit( uint32_t onlineId, uint32_t offlineId, int chamber, float r, float z,
1769  float residual, float time, float space, float sigma ) {
1770 
1771  // Make sure that the number of MDT hits is still within the capacity
1772  if ( mdtonAcc( *this ).size() >= (unsigned int)mdtHitsCapacity() ) return;
1773 
1774  // Set the variables:
1775  static const SG::AuxElement::Accessor< std::vector< uint32_t > > mdtcAcc( "mdtHitChamber" );
1776  mdtonAcc( *this ).push_back( onlineId );
1777  mdtoffAcc( *this ).push_back( offlineId );
1778  mdtcAcc( *this ).push_back( chamber );
1779  mdtrAcc( *this ).push_back( r );
1780  mdtzAcc( *this ).push_back( z );
1781  mdtresAcc( *this ).push_back( residual );
1782  mdttAcc( *this ).push_back( time );
1783  mdtspcAcc( *this ).push_back( space );
1784  mdtsigAcc( *this ).push_back( sigma );
1785 
1786  return;
1787  }
1788  //
1790 
1791 } // namespace xAOD
1792 
1796 std::ostream& operator<< ( std::ostream& out,
1797  const xAOD::L2StandAloneMuon_v1& mu ) {
1798 
1799  out << "roiWord: " << mu.roiWord() << "; ";
1800  out << "sAddress: " << mu.sAddress() << "; ";
1801  out << "pt: " << mu.pt() << "; ";
1802  out << "phi: " << mu.phi() << "; ";
1803  out << "eta: " << mu.eta() << "; ";
1804  out << "rMS: " << mu.rMS() << "; ";
1805  out << "etaMS: " << mu.etaMS() << "; ";
1806  out << "phiMS: " << mu.phiMS() << "; ";
1807  out << "dirPhiMS: " << mu.dirPhiMS() << "; ";
1808  out << "zMS: " << mu.zMS() << "; ";
1809  out << "dirZMS: " << mu.dirZMS() << "; ";
1810  out << "beta: " << mu.beta() << "; ";
1811  out << "barrelRadius: " << mu.barrelRadius() << "; ";
1812  out << "barrelSagitta: " << mu.barrelSagitta() << "; ";
1813  out << "endcapAlpha: " << mu.endcapAlpha() << "; ";
1814  out << "endcapBeta: " << mu.endcapBeta() << "; ";
1815  out << "endcapRadius: " << mu.endcapRadius() << "; ";
1816  out << "etaMap: " << mu.etaMap() << "; ";
1817  out << "phiMap: " << mu.phiMap() << "; ";
1818  out << "etaBin: " << mu.etaBin() << "; ";
1819  out << "phiBin: " << mu.phiBin() << "; ";
1820  out << "isTgcFailure: " << mu.isTgcFailure() << "; ";
1821  out << "isRpcFailure: " << mu.isRpcFailure() << "; ";
1822  out << "deltaPt: " << mu.deltaPt() << "; ";
1823  out << "deltaEta: " << mu.deltaEta() << "; ";
1824  out << "deltaPhi: " << mu.deltaPhi() << "; ";
1825  out << "algoId: " << mu.algoId() << "; ";
1826  out << "teId: " << mu.teId() << "; ";
1827  out << "lvl1Id: " << mu.lvl1Id() << "; ";
1828  out << "lumiBlock: " << mu.lumiBlock() << "; ";
1829  out << "muonDetMask: " << mu.muonDetMask() << "; ";
1830  out << "roiId: " << mu.roiId() << "; ";
1831  out << "roiSystem: " << mu.roiSystem() << "; ";
1832  out << "roiSubsystem: " << mu.roiSubsystem() << "; ";
1833  out << "roiSector: " << mu.roiSector() << "; ";
1834  out << "roiNumber: " << mu.roiNumber() << "; ";
1835  out << "roiThreshold: " << mu.roiThreshold() << "; ";
1836  out << "roiEta: " << mu.roiEta() << "; ";
1837  out << "roiPhi: " << mu.roiPhi() << "; ";
1838  out << "extensionCapacity: " << mu.extensionCapacity() << "; ";
1839  out << "robCapacity: " << mu.robCapacity() << "; ";
1840  out << "csmCapacity: " << mu.csmCapacity() << "; ";
1841  out << "lvl1EmuCapacity: " << mu.lvl1EmuCapacity() << "; ";
1842  out << "rpcHitsCapacity: " << mu.rpcHitsCapacity() << "; ";
1843  out << "tgcHitsCapacity: " << mu.tgcHitsCapacity() << "; ";
1844  out << "mdtHitsCapacity: " << mu.mdtHitsCapacity() << "; ";
1845 
1846  // Return the stream:
1847  return out;
1848 }
xAOD::L2StandAloneMuon_v1::setExtension2
void setExtension2(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1367
xAOD::L2StandAloneMuon_v1::setTgcInnPhiHit
void setTgcInnPhiHit(float phi, float r, float z, float width, uint32_t in_seg)
Definition: L2StandAloneMuon_v1.cxx:1641
xAOD::L2StandAloneMuon_v1::setChamberType1
void setChamberType1(int station, int sector, int chamberType)
Set the muon road information.
Definition: L2StandAloneMuon_v1.cxx:712
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::L2StandAloneMuon_v1::setExtension5
void setExtension5(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1385
beamspotman.r
def r
Definition: beamspotman.py:676
xAOD::L2StandAloneMuon_v1::setRpc3
void setRpc3(float x, float y, float z)
Definition: L2StandAloneMuon_v1.cxx:1095
xAOD::L2StandAloneMuon_v1::pt
virtual double pt() const
The transverse momentum ( ) of the particle.
xAOD::L2StandAloneMuon_v1::GenVecFourMom_t
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for trig muons.
Definition: L2StandAloneMuon_v1.h:65
xAOD::deltaPt
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure deltaPt
Definition: L2StandAloneMuon_v1.cxx:157
pdg_comparison.sigma
sigma
Definition: pdg_comparison.py:324
fitman.sz
sz
Definition: fitman.py:527
xAOD::L2StandAloneMuon_v1::type
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
SG
Forward declaration.
Definition: CaloCellPacker_400_500.h:32
xAOD::interceptInner
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius interceptInner
Definition: L2StandAloneMuon_v1.cxx:141
xAOD::L2StandAloneMuon_v1::setExtension9
void setExtension9(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1409
xAOD::L2StandAloneMuon_v1::setTgcMidRhoHit
void setTgcMidRhoHit(float phi, float r, float z, float width, uint32_t in_seg)
Definition: L2StandAloneMuon_v1.cxx:1656
xAOD::etaMS
setSAddress etaMS
Definition: L2StandAloneMuon_v1.cxx:117
xAOD::isTgcFailure
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin isTgcFailure
Definition: L2StandAloneMuon_v1.cxx:153
xAOD::L2StandAloneMuon_v1::robCapacity
int robCapacity() const
SG::Accessor< float >
AuxStoreAccessorMacros.h
xAOD::L2StandAloneMuon_v1::setPhi
void setPhi(float phi)
Set the azimuthal angle ( ) of the muon.
Definition: L2StandAloneMuon_v1.cxx:90
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
xAOD::L2StandAloneMuon_v1::mdtHitOfflineId
uint32_t mdtHitOfflineId(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1703
ClusterSeg::residual
@ residual
Definition: ClusterNtuple.h:20
calibdata.chamber
chamber
Definition: calibdata.py:32
xAOD::L2StandAloneMuon_v1::m
virtual double m() const
The invariant mass of the particle.
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
xAOD::deltaPhi
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
Definition: L2StandAloneMuon_v1.cxx:161
xAOD::L2StandAloneMuon_v1::setMdtHit
void setMdtHit(uint32_t onlineId, uint32_t offlineId, int chamber, float r, float z, float residual, float time, float space, float sigma)
Set the properties of each MDT tube.
Definition: L2StandAloneMuon_v1.cxx:1768
xAOD::teId
teId
Definition: L2StandAloneMuon_v1.cxx:324
min
constexpr double min()
Definition: ap_fixedTest.cxx:26
ParticleConstants::PDG2011::muonMassInMeV
constexpr double muonMassInMeV
the mass of the muon (in MeV)
Definition: ParticleConstants.h:29
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
athena.value
value
Definition: athena.py:124
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
xAOD::L2StandAloneMuon_v1::mdtHitSigma
float mdtHitSigma(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1760
xAOD::roiEta
setTeId setLumiBlock setRoiId setRoiSubsystem setRoiNumber roiEta
Definition: L2StandAloneMuon_v2.cxx:344
xAOD::barrelRadius
setSAddress setEtaMS setDirPhiMS setDirZMS barrelRadius
Definition: L2StandAloneMuon_v1.cxx:129
xAOD::L2StandAloneMuon_v1::setExtension1
void setExtension1(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1361
xAOD::isRpcFailure
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setPhiMap setPhiBin isRpcFailure
Definition: L2StandAloneMuon_v2.cxx:149
xAOD::pt
setRcore setEtHad setFside pt
Definition: TrigPhoton_v1.cxx:106
xAOD::L2StandAloneMuon_v1::mdtHitR
float mdtHitR(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1720
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
xAOD::L2StandAloneMuon_v1::FourMom_t
TLorentzVector FourMom_t
Definition of the 4-momentum type.
Definition: L2StandAloneMuon_v1.h:59
xAOD::IParticle
Class providing the definition of the 4-vector interface.
Definition: Event/xAOD/xAODBase/xAODBase/IParticle.h:41
xAOD::L2StandAloneMuon_v1::setTgcMidF
void setTgcMidF(float rhoChi2, long rhoN, float phiChi2, long phiN)
Definition: L2StandAloneMuon_v1.cxx:1036
xAOD::L2StandAloneMuon_v1::mdtHitChamber
uint32_t mdtHitChamber(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1711
x
#define x
xAOD::L2StandAloneMuon_v1::csmCapacity
int csmCapacity() const
xAOD::L2StandAloneMuon_v1::setTgcHitsCapacity
void setTgcHitsCapacity(int value)
Set size of storage for TGC hits.
Definition: L2StandAloneMuon_v1.cxx:1274
xAOD::sAddress
sAddress
Definition: L2StandAloneMuon_v1.cxx:113
xAOD::L2StandAloneMuon_v1::rMax
float rMax(int station, int sector) const
Definition: L2StandAloneMuon_v1.cxx:629
xAOD::L2StandAloneMuon_v1::mdtHitResidual
float mdtHitResidual(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1736
xAOD::L2StandAloneMuon_v1::setExtension4
void setExtension4(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1379
xAOD::L2StandAloneMuon_v1::trackPositionPhi
float trackPositionPhi(unsigned int n) const
Get phi postion of track.
Definition: L2StandAloneMuon_v1.cxx:293
xAOD::L2StandAloneMuon_v1::superPointSlope
float superPointSlope(int chamber) const
Get the measured slope of the muon in one particular super point.
Definition: L2StandAloneMuon_v1.cxx:196
xAOD::L2StandAloneMuon_v1::roiPhi
uint32_t roiPhi() const
Get and set RoI phi.
Definition: L2StandAloneMuon_v1.cxx:356
xAOD::L2StandAloneMuon_v1::L2StandAloneMuon_v1
L2StandAloneMuon_v1()
Constructor.
Definition: L2StandAloneMuon_v1.cxx:19
xAOD::phi
setEt phi
Definition: TrigEMCluster_v1.cxx:29
xAOD::L2StandAloneMuon_v1::roadAw
float roadAw(int station, int sector) const
Slope.
Definition: L2StandAloneMuon_v1.cxx:496
JetVar::Accessor
SG::AuxElement::Accessor< T > Accessor
Definition: JetVariable.h:31
xAOD::roiWord
roiWord
Definition: TrigMissingET_v1.cxx:36
xAOD::tgcPt
setTeId setLumiBlock setRoiId setRoiSubsystem setRoiNumber setRoiEta tgcPt
Definition: L2StandAloneMuon_v2.cxx:353
xAOD::L2StandAloneMuon_v1::setChamberType2
void setChamberType2(int station, int sector, int chamberType)
Definition: L2StandAloneMuon_v1.cxx:739
xAOD::endcapAlpha
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius endcapAlpha
Definition: L2StandAloneMuon_v1.cxx:133
xAOD::L2StandAloneMuon_v1::trackPositionZ
float trackPositionZ(unsigned int n) const
Get Z postion of track.
Definition: L2StandAloneMuon_v1.cxx:277
xAOD::L2StandAloneMuon_v1::setTgcMidPhiHit
void setTgcMidPhiHit(float phi, float r, float z, float width, uint32_t in_seg)
Definition: L2StandAloneMuon_v1.cxx:1671
histSizes.code
code
Definition: histSizes.py:129
xAOD::L2StandAloneMuon_v1::setRegionR
void setRegionR(int station, int sector, float min, float max)
R range.
Definition: L2StandAloneMuon_v1.cxx:855
xAOD::L2StandAloneMuon_v1::mdtHitsCapacity
int mdtHitsCapacity() const
xAOD::etaBin
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap etaBin
Definition: L2StandAloneMuon_v1.cxx:149
xAOD::L2StandAloneMuon_v1::setTrackPosition
void setTrackPosition(float r, float z, float eta, float phi)
Set position of muon track.
Definition: L2StandAloneMuon_v1.cxx:302
xAOD::L2StandAloneMuon_v1::genvecP4
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal trig muon type.
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
xAOD::L2StandAloneMuon_v1::roadBw
float roadBw(int station, int sector) const
Intercept.
Definition: L2StandAloneMuon_v1.cxx:523
xAOD::L2StandAloneMuon_v1::setPt
void setPt(float pt)
Set the transverse momentum ( ) of the muon.
xAOD::L2StandAloneMuon_v1::setRobCapacity
void setRobCapacity(int value)
Set size of ROB storage.
Definition: L2StandAloneMuon_v1.cxx:1212
dqt_zlumi_pandas.err
err
Definition: dqt_zlumi_pandas.py:182
P4Helpers::deltaEta
double deltaEta(const I4Momentum &p1, const I4Momentum &p2)
Computes efficiently .
Definition: P4Helpers.h:66
ParticleConstants.h
xAOD::L2StandAloneMuon_v1::zMax
float zMax(int station, int sector) const
Definition: L2StandAloneMuon_v1.cxx:576
xAOD::L2StandAloneMuon_v1::setCsmError
void setCsmError(uint32_t err)
Definition: L2StandAloneMuon_v1.cxx:1546
z
#define z
xAOD::ptBarrelSagitta
ptBarrelSagitta
Definition: L2StandAloneMuon_v1.cxx:374
xAOD::L2MuonParameters::MaxChamber
@ MaxChamber
Number of measurement point definitions.
Definition: TrigMuonDefs.h:27
beamspotman.n
n
Definition: beamspotman.py:731
xAOD::L2StandAloneMuon_v1::mdtHitTime
float mdtHitTime(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1744
vector
Definition: MultiHisto.h:13
xAOD::L2StandAloneMuon_v1::extensionCapacity
int extensionCapacity() const
Get and set maximum size of storages to be reserved.
xAOD::etaMap
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner etaMap
Definition: L2StandAloneMuon_v1.cxx:145
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::L2StandAloneMuon_v1::setTgcMid1
void setTgcMid1(float eta, float phi, float r, float z)
Definition: L2StandAloneMuon_v1.cxx:1006
xAOD::roiId
setTeId setLumiBlock roiId
Definition: L2StandAloneMuon_v1.cxx:332
xAODType::Other
@ Other
An object not falling into any of the other categories.
Definition: ObjectType.h:34
xAOD::L2StandAloneMuon_v1::setCsmCapacity
void setCsmCapacity(int value)
Set size of CSM storage.
Definition: L2StandAloneMuon_v1.cxx:1226
xAOD::L2StandAloneMuon_v1::tgcHitsCapacity
int tgcHitsCapacity() const
chi2
double chi2(TH1 *h0, TH1 *h1)
Definition: comparitor.cxx:525
xAOD::L2StandAloneMuon_v1::setExtensionCapacity
void setExtensionCapacity(int value)
Size of storage to be reserved.
Definition: L2StandAloneMuon_v1.cxx:1190
AthenaPoolTestRead.acc
acc
Definition: AthenaPoolTestRead.py:16
operator<<
std::ostream & operator<<(std::ostream &out, const xAOD::L2StandAloneMuon_v1 &mu)
Helper operator for easily printing the properties of a LVL2 muon object for debugging.
Definition: L2StandAloneMuon_v1.cxx:1796
xAOD::L2StandAloneMuon_v1::setExtension7
void setExtension7(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1397
xAOD::L2StandAloneMuon_v1::setMdtHitsCapacity
void setMdtHitsCapacity(int value)
Set size of storage for MDT hits.
Definition: L2StandAloneMuon_v1.cxx:1306
MakeFileForMJB.ext
string ext
Definition: Moriond2016/MakeFileForMJB.py:41
xAOD::L2StandAloneMuon_v1::setExtension3
void setExtension3(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1373
xAOD::dirZMS
setSAddress setEtaMS setDirPhiMS dirZMS
Definition: L2StandAloneMuon_v1.cxx:125
xAOD::L2StandAloneMuon_v1::setTgcMid2
void setTgcMid2(float eta, float phi, float r, float z)
Definition: L2StandAloneMuon_v1.cxx:1021
xAOD::L2StandAloneMuon_v1::zMin
float zMin(int station, int sector) const
Z.
Definition: L2StandAloneMuon_v1.cxx:550
xAOD::L2StandAloneMuon_v1::setRpc2
void setRpc2(float x, float y, float z)
Definition: L2StandAloneMuon_v1.cxx:1082
xAOD::L2StandAloneMuon_v1::setPhiLow
void setPhiLow(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
Definition: L2StandAloneMuon_v1.cxx:1468
xAOD::L2StandAloneMuon_v1::setExtension6
void setExtension6(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1391
xAOD::L2StandAloneMuon_v1::etaMin
float etaMin(int station, int sector) const
Eta.
Definition: L2StandAloneMuon_v1.cxx:656
xAOD::L2StandAloneMuon_v1::setRoad
void setRoad(int station, int sector, float aw, float bw)
Road.
Definition: L2StandAloneMuon_v1.cxx:767
xAOD::L2StandAloneMuon_v1::superPointChi2
float superPointChi2(int chamber) const
Get the chi2 of the fit in one particular super point.
Definition: L2StandAloneMuon_v1.cxx:212
xAOD::phiMap
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius phiMap
Definition: L2StandAloneMuon_v2.cxx:141
xAOD::L2StandAloneMuon_v1::setRemovedRob
void setRemovedRob(uint32_t rob)
Definition: L2StandAloneMuon_v1.cxx:1512
xAOD::L2StandAloneMuon_v1::chamberType2
int chamberType2(int station, int sector) const
Definition: L2StandAloneMuon_v1.cxx:469
xAOD::L2StandAloneMuon_v1::setRegionZ
void setRegionZ(int station, int sector, float min, float max)
Z range.
Definition: L2StandAloneMuon_v1.cxx:811
xAOD::L2StandAloneMuon_v1::setEta
void setEta(float eta)
Set the pseudorapidity ( ) of the muon.
Definition: L2StandAloneMuon_v1.cxx:83
xAOD::phiBin
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setPhiMap phiBin
Definition: L2StandAloneMuon_v2.cxx:145
xAOD::L2StandAloneMuon_v1::setRemovedCsm
void setRemovedCsm(uint32_t csm)
Definition: L2StandAloneMuon_v1.cxx:1558
xAOD::L2StandAloneMuon_v1::trackPositionEta
float trackPositionEta(unsigned int n) const
Get eta postion of track.
Definition: L2StandAloneMuon_v1.cxx:285
xAOD::L2StandAloneMuon_v1::rapidity
virtual double rapidity() const
The true rapidity (y) of the particle.
xAOD::L2StandAloneMuon_v1::setRegionEta
void setRegionEta(int station, int sector, float min, float max)
Eta range.
Definition: L2StandAloneMuon_v1.cxx:899
xAOD::L2StandAloneMuon_v1::superPointZ
float superPointZ(int chamber) const
Get the measured Z position of the muon in one particular super point.
Definition: L2StandAloneMuon_v1.cxx:188
xAOD::roiNumber
setTeId setLumiBlock setRoiId setRoiSubsystem roiNumber
Definition: L2StandAloneMuon_v1.cxx:340
xAOD::L2StandAloneMuon_v1::setEtaLow
void setEtaLow(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
Definition: L2StandAloneMuon_v1.cxx:1434
xAOD::L2StandAloneMuon_v1::setPhiHigh
void setPhiHigh(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
Definition: L2StandAloneMuon_v1.cxx:1480
python.CTPfragment.setLumiBlock
def setLumiBlock(rob, lb)
Definition: CTPfragment.py:86
TrigMuonDefs.h
xAOD::L2StandAloneMuon_v1::eta
virtual double eta() const
The pseudorapidity ( ) of the particle.
xAOD::L2StandAloneMuon_v1::p4
virtual FourMom_t p4() const
The full 4-momentum of the particle.
xAOD::L2StandAloneMuon_v1::setRpcHitsCapacity
void setRpcHitsCapacity(int value)
Set size of storage for RPC hits.
Definition: L2StandAloneMuon_v1.cxx:1255
xAOD::ptEndcapBeta
setPtBarrelSagitta ptEndcapBeta
Definition: L2StandAloneMuon_v1.cxx:378
xAOD::L2StandAloneMuon_v1::mdtHitSpace
float mdtHitSpace(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1752
xAOD::L2StandAloneMuon_v1::setExtension8
void setExtension8(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:1403
y
#define y
xAOD::L2StandAloneMuon_v1::nMdtHits
uint32_t nMdtHits() const
Get the online ID, offline ID, R, Z, redidual, time, space and sigma of each MDT tube.
Definition: L2StandAloneMuon_v1.cxx:1691
Base_Fragment.width
width
Definition: Sherpa_i/share/common/Base_Fragment.py:59
xAOD::endcapRadius
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha endcapRadius
Definition: L2StandAloneMuon_v1.cxx:137
xAOD::AUXSTORE_OBJECT_GETTER
AUXSTORE_OBJECT_GETTER(TrigComposite_v1, std::vector< std::string >, linkColNames) AUXSTORE_OBJECT_GETTER(TrigComposite_v1
xAOD::L2StandAloneMuon_v1::rMin
float rMin(int station, int sector) const
R.
Definition: L2StandAloneMuon_v1.cxx:603
AUXSTORE_PRIMITIVE_GETTER
#define AUXSTORE_PRIMITIVE_GETTER(CL, TYPE, NAME)
Macro creating the reader function for a primitive auxiliary property.
Definition: AuxStoreAccessorMacros.h:59
xAOD::L2StandAloneMuon_v1::setEtaHigh
void setEtaHigh(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
Definition: L2StandAloneMuon_v1.cxx:1446
L2StandAloneMuon_v1.h
xAOD::roiSubsystem
setTeId setLumiBlock setRoiId roiSubsystem
Definition: L2StandAloneMuon_v1.cxx:336
xAOD::L2StandAloneMuon_v1::superPointIntercept
float superPointIntercept(int chamber) const
Get the measured intercept of the muon in one particular super point.
Definition: L2StandAloneMuon_v1.cxx:204
xAOD::L2StandAloneMuon_v1::setTgcInnF
void setTgcInnF(float rhoStd, long rhoN, float phiStd, long phiN)
Definition: L2StandAloneMuon_v1.cxx:991
xAOD::L2StandAloneMuon_v1::setCapacities
void setCapacities(int ext, int rob, int csm, int lvl1, int rpc, int tgc, int mdt)
Definition: L2StandAloneMuon_v1.cxx:1326
xAOD::L2StandAloneMuon_v1::trackPositionR
float trackPositionR(unsigned int n) const
Get R postion of track.
Definition: L2StandAloneMuon_v1.cxx:269
xAOD::L2StandAloneMuon_v1::etaMax
float etaMax(int station, int sector) const
Definition: L2StandAloneMuon_v1.cxx:682
xAOD::L2StandAloneMuon_v1::setLvl1EmuCapacity
void setLvl1EmuCapacity(int value)
Set size of L1 emulation storage.
Definition: L2StandAloneMuon_v1.cxx:1242
xAOD::L2StandAloneMuon_v1::setRoiEta
void setRoiEta(uint32_t value)
xAOD::L2StandAloneMuon_v1::nTrackPositions
uint32_t nTrackPositions() const
Number of track positions stored.
Definition: L2StandAloneMuon_v1.cxx:265
MuonParameters::beta
@ beta
Definition: MuonParamDefs.h:144
xAODType::ObjectType
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition: ObjectType.h:32
xAOD::lumiBlock
setTeId lumiBlock
Definition: L2StandAloneMuon_v1.cxx:328
xAOD::L2StandAloneMuon_v1::setSuperPoint
void setSuperPoint(int chamber, float r, float z, float slope, float intercept=0., float chi2=0.)
Set the properties of one particular super point measurement.
Definition: L2StandAloneMuon_v1.cxx:221
CaloNoise_fillDB.mu
mu
Definition: CaloNoise_fillDB.py:53
xAOD::L2StandAloneMuon_v1::mdtHitOnlineId
uint32_t mdtHitOnlineId(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1695
xAOD::L2StandAloneMuon_v1
Class describing standalone muons reconstructed in the LVL2 trigger.
Definition: L2StandAloneMuon_v1.h:36
xAOD::dirPhiMS
setSAddress setEtaMS dirPhiMS
Definition: L2StandAloneMuon_v1.cxx:121
makeComparison.deltaR
float deltaR
Definition: makeComparison.py:36
xAOD::L2StandAloneMuon_v1::setPhiPivot
void setPhiPivot(uint32_t ly0, uint32_t ly1)
Definition: L2StandAloneMuon_v1.cxx:1458
xAOD::L2StandAloneMuon_v1::phi
virtual double phi() const
The azimuthal angle ( ) of the particle.
calibdata.tube
tube
Definition: calibdata.py:31
xAOD::L2StandAloneMuon_v1::setRoiPhi
void setRoiPhi(uint32_t value)
Definition: L2StandAloneMuon_v1.cxx:360
xAOD::L2StandAloneMuon_v1::mdtHitZ
float mdtHitZ(unsigned int tube) const
Definition: L2StandAloneMuon_v1.cxx:1728
python.SystemOfUnits.m
float m
Definition: SystemOfUnits.py:106
xAOD::L2StandAloneMuon_v1::e
virtual double e() const
The total energy of the particle.