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