ATLAS Offline Software
Loading...
Searching...
No Matches
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
17namespace xAOD {
18
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
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
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
188 float L2StandAloneMuon_v1::superPointZ( int chamber ) const {
189 if( chamber >= 0 && spzAcc( *this ).size() > (unsigned int)chamber ) {
190 return spzAcc( *this ).at( chamber );
191 } else {
192 return 0.;
193 }
194 }
195
196 float L2StandAloneMuon_v1::superPointSlope( int chamber ) const {
197 if( chamber >= 0 && spsAcc( *this ).size() > (unsigned int)chamber ) {
198 return spsAcc( *this ).at( chamber );
199 } else {
200 return 0.;
201 }
202 }
203
204 float L2StandAloneMuon_v1::superPointIntercept( int chamber ) const {
205 if( chamber >= 0 && spiAcc( *this ).size() > (unsigned int)chamber ) {
206 return spiAcc( *this ).at( chamber );
207 } else {
208 return 0.;
209 }
210 }
211
212 float L2StandAloneMuon_v1::superPointChi2( int chamber ) const {
213 if( chamber >= 0 && spcAcc( *this ).size() > (unsigned int)chamber ) {
214 return spcAcc( *this ).at( chamber );
215 } else {
216 return 0.;
217 }
218 }
219
221 void L2StandAloneMuon_v1::setSuperPoint( int chamber, float r, float z,
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
241 if (chamber >=0 && chamber < L2MuonParameters::Chamber::MaxChamber ) {
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 )
328 lumiBlock, setLumiBlock )
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
964
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 }
1050
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
1121
1124
1128
1134
1143
1145 static const SG::AuxElement::Accessor< std::vector< float > > tirpAcc( "tgcInnRhoHitPhi" );
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" );
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" );
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" );
1163 static const SG::AuxElement::Accessor< std::vector< float > > tmpwAcc( "tgcMidPhiHitWidth" );
1164 static const SG::AuxElement::Accessor< std::vector< uint32_t > > tmpiAcc( "tgcMidPhiHitInSeg" );
1165
1177
1181 AUXSTORE_PRIMITIVE_GETTER( L2StandAloneMuon_v1, int, extensionCapacity )
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
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
1328 setExtensionCapacity( ext );
1329 setRobCapacity( rob );
1330 setCsmCapacity( csm );
1331 setLvl1EmuCapacity( lvl1 );
1332 setRpcHitsCapacity( rpc );
1333 setTgcHitsCapacity( tgc );
1334 setMdtHitsCapacity( mdt );
1335
1336 return;
1337 }
1338
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
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 }
1415
1417
1421 AUXSTORE_OBJECT_GETTER( L2StandAloneMuon_v1, std::vector< uint32_t >, lvl1Emulation )
1422
1423
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 }
1491
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
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 }
1522
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
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 }
1567
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 }
1598
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 }
1685
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
1796std::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}
Scalar eta() const
pseudorapidity method
Scalar deltaR(const MatrixBase< Derived > &vec) const
#define AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, NAME)
Macro creating a getter function with a type conversion.
#define AUXSTORE_OBJECT_GETTER(CL, TYPE, NAME)
Macro creating the reader function for a complex auxiliary property.
#define AUXSTORE_PRIMITIVE_GETTER(CL, TYPE, NAME)
Macro creating the reader function for a primitive auxiliary property.
#define AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of primitive auxiliary properties.
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.
static Double_t sz
A number of constexpr particle constants to avoid hardcoding them directly in various places.
const double width
#define y
#define x
#define z
#define min(a, b)
Definition cfImp.cxx:40
#define max(a, b)
Definition cfImp.cxx:41
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:572
IParticle()=default
SG::Accessor< T, ALLOC > Accessor
Definition AuxElement.h:572
Class describing standalone muons reconstructed in the LVL2 trigger.
void setPhiPivot(uint32_t ly0, uint32_t ly1)
virtual double rapidity() const
The true rapidity (y) of the particle.
void setTgcInnPhiHit(float phi, float r, float z, float width, uint32_t in_seg)
void setEtaHigh(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
void setPhi(float phi)
Set the azimuthal angle ( ) of the muon.
void setCsmCapacity(int value)
Set size of CSM storage.
void setTgcInnF(float rhoStd, long rhoN, float phiStd, long phiN)
virtual Type::ObjectType type() const
The type of the object as a simple enumeration.
float etaMax(int station, int sector) const
uint32_t nTrackPositions() const
Number of track positions stored.
void setPhiHigh(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
void setTgcMidRhoHit(float phi, float r, float z, float width, uint32_t in_seg)
void setRoiEta(uint32_t value)
void setCapacities(int ext, int rob, int csm, int lvl1, int rpc, int tgc, int mdt)
void setPhiLow(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
int chamberType1(int station, int sector) const
Get the muon road information Chamber type.
float superPointIntercept(int chamber) const
Get the measured intercept of the muon in one particular super point.
virtual FourMom_t p4() const
The full 4-momentum of the particle.
void setRequestedRob(uint32_t rob)
Get ROB information object.
void setRoad(int station, int sector, float aw, float bw)
Road.
void setExtension0(uint32_t value)
Set extenstion.
float roadAw(int station, int sector) const
Slope.
void setTrackPosition(float r, float z, float eta, float phi)
Set position of muon track.
void setEtaPivot(uint32_t ly0, uint32_t ly1)
Get level 1 emulation object.
float superPointSlope(int chamber) const
Get the measured slope of the muon in one particular super point.
void setRpcHitsCapacity(int value)
Set size of storage for RPC hits.
void setTgcMid1(float eta, float phi, float r, float z)
void setMdtHitsCapacity(int value)
Set size of storage for MDT hits.
void setRegionR(int station, int sector, float min, float max)
R range.
float etaMin(int station, int sector) const
Eta.
float mdtHitSpace(unsigned int tube) const
TLorentzVector FourMom_t
Definition of the 4-momentum type.
uint32_t mdtHitChamber(unsigned int tube) const
void setEtaLow(uint32_t ly00, uint32_t ly01, uint32_t ly10, uint32_t ly11)
void setLvl1EmuCapacity(int value)
Set size of L1 emulation storage.
float trackPositionZ(unsigned int n) const
Get Z postion of track.
GenVecFourMom_t genvecP4() const
The full 4-momentum of the particle : internal trig muon type.
float trackPositionPhi(unsigned int n) const
Get phi postion of track.
void setTgcMidF(float rhoChi2, long rhoN, float phiChi2, long phiN)
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.
float zMax(int station, int sector) const
uint32_t nMdtHits() const
Get the online ID, offline ID, R, Z, redidual, time, space and sigma of each MDT tube.
float roadBw(int station, int sector) const
Intercept.
float mdtHitTime(unsigned int tube) const
float mdtHitSigma(unsigned int tube) const
void setTgcHitsCapacity(int value)
Set size of storage for TGC hits.
void setTgcInn(float eta, float phi, float r, float z)
Get the results of TGC fit.
ROOT::Math::LorentzVector< ROOT::Math::PtEtaPhiM4D< double > > GenVecFourMom_t
Base 4 Momentum type for trig muons.
void setConvertedCsm(uint32_t csm, uint32_t sz)
Get CSM information object.
float superPointZ(int chamber) const
Get the measured Z position of the muon in one particular super point.
void setTgcInnRhoHit(float phi, float r, float z, float width, uint32_t in_seg)
Set TGC hits.
virtual double pt() const
The transverse momentum ( ) of the particle.
void setRegionEta(int station, int sector, float min, float max)
Eta range.
virtual double phi() const
The azimuthal angle ( ) of the particle.
void setTgcMid2(float eta, float phi, float r, float z)
void setExtensionCapacity(int value)
Size of storage to be reserved.
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.
void setRegionZ(int station, int sector, float min, float max)
Z range.
virtual double e() const
The total energy of the particle.
float zMin(int station, int sector) const
Z.
void setRpc1(float x, float y, float z)
Set the results of RPC fit.
void setRpc3(float x, float y, float z)
void setPt(float pt)
Set the transverse momentum ( ) of the muon.
uint32_t roiPhi() const
Get and set RoI phi.
int chamberType2(int station, int sector) const
float superPointChi2(int chamber) const
Get the chi2 of the fit in one particular super point.
uint32_t mdtHitOnlineId(unsigned int tube) const
virtual double m() const
The invariant mass of the particle.
float rMax(int station, int sector) const
float superPointR(int chamber) const
Get the measured radious of the muon in one particular super point.
void setChamberType1(int station, int sector, int chamberType)
Set the muon road information.
virtual double eta() const
The pseudorapidity ( ) of the particle.
void setPadHit(uint32_t onlineId, uint32_t code, float x, float y, float z, float r, float p)
Set RPC pad hits.
float mdtHitR(unsigned int tube) const
float mdtHitResidual(unsigned int tube) const
float rMin(int station, int sector) const
R.
void setRobCapacity(int value)
Set size of ROB storage.
float trackPositionR(unsigned int n) const
Get R postion of track.
void setChamberType2(int station, int sector, int chamberType)
float mdtHitZ(unsigned int tube) const
int extensionCapacity() const
Get and set maximum size of storages to be reserved.
void setEta(float eta)
Set the pseudorapidity ( ) of the muon.
uint32_t mdtHitOfflineId(unsigned int tube) const
float trackPositionEta(unsigned int n) const
Get eta postion of track.
void setRpc2(float x, float y, float z)
void setTgcMidPhiHit(float phi, float r, float z, float width, uint32_t in_seg)
double chi2(TH1 *h0, TH1 *h1)
int r
Definition globals.cxx:22
constexpr double muonMassInMeV
the mass of the muon (in MeV)
Forward declaration.
STL namespace.
ObjectType
Type of objects that have a representation in the xAOD EDM.
Definition ObjectType.h:32
@ MaxChamber
Number of measurement point definitions.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
static const SG::AuxElement::Accessor< std::vector< float > > rminnAcc("rMinNormal")
R range.
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setPhiMap phiBin
static const SG::AuxElement::Accessor< std::vector< float > > tirwAcc("tgcInnRhoHitWidth")
static const SG::AuxElement::Accessor< std::vector< float > > spiAcc("superPointIntercept")
Object for accessing the superPointIntercept variable.
static const SG::AuxElement::Accessor< std::vector< float > > emaxoAcc("etaMaxOverlap")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > mdtonAcc("mdtHitOnlineId")
Object for accessing the MDT tube variables.
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext0Acc("extension0")
Object for accessing extenstion variables.
setRcore setEtHad setFside pt
static const SG::AuxElement::Accessor< std::vector< float > > tmrzAcc("tgcMidRhoHitZ")
static const SG::AuxElement::Accessor< std::vector< float > > eminoAcc("etaMinOverlap")
setSAddress etaMS
static const SG::AuxElement::Accessor< std::vector< int > > ct2nAcc("chamberType2Normal")
static const SG::AuxElement::Accessor< std::vector< float > > tmprAcc("tgcMidPhiHitR")
setTeId setLumiBlock setRoiId roiSubsystem
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext8Acc("extension8")
static const SG::AuxElement::Accessor< std::vector< float > > padpAcc("padHitP")
static const SG::AuxElement::Accessor< std::vector< float > > tirzAcc("tgcInnRhoHitZ")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > csmerAcc("csmError")
static const SG::AuxElement::Accessor< std::vector< float > > zminnAcc("zMinNormal")
Z range.
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin isTgcFailure
setTeId setLumiBlock setRoiId setRoiSubsystem roiNumber
static const SG::AuxElement::Accessor< std::vector< float > > tmpzAcc("tgcMidPhiHitZ")
AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(Muon_v1, uint8_t, Muon_v1::EnergyLossType, energyLossType) AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(Muon_v1
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap etaBin
static const SG::AuxElement::Accessor< std::vector< float > > rminoAcc("rMinOverlap")
static const SG::AuxElement::Accessor< std::vector< float > > mdtsigAcc("mdtHitSigma")
static const SG::AuxElement::Accessor< std::vector< float > > spcAcc("superPointChi2")
Object for accessing the superPointChi2 variable.
static const SG::AuxElement::Accessor< std::vector< uint32_t > > tipiAcc("tgcInnPhiHitInSeg")
static const SG::AuxElement::Accessor< std::vector< float > > bwnAcc("roadBwNormal")
static const SG::AuxElement::Accessor< std::vector< float > > zmaxnAcc("zMaxNormal")
static const SG::AuxElement::Accessor< std::vector< float > > tmppAcc("tgcMidPhiHitPhi")
setSAddress setEtaMS setDirPhiMS dirZMS
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha endcapRadius
static const SG::AuxElement::Accessor< std::vector< float > > mdttAcc("mdtHitTime")
static const SG::AuxElement::Accessor< std::vector< float > > spsAcc("superPointSlope")
Object for accessing the superPointSlope variable.
static const SG::AuxElement::Accessor< std::vector< float > > awoAcc("roadAwOverlap")
static const SG::AuxElement::Accessor< std::vector< float > > tipwAcc("tgcInnPhiHitWidth")
static const SG::AuxElement::Accessor< std::vector< int > > ct2oAcc("chamberType2Overlap")
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
static const SG::AuxElement::Accessor< std::vector< float > > bwoAcc("roadBwOverlap")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext9Acc("extension9")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > tiriAcc("tgcInnRhoHitInSeg")
static const SG::AuxElement::Accessor< std::vector< int > > ct1oAcc("chamberType1Overlap")
setSAddress setEtaMS setDirPhiMS setDirZMS barrelRadius
static const SG::AuxElement::Accessor< std::vector< float > > tmrwAcc("tgcMidRhoHitWidth")
static const SG::AuxElement::Accessor< std::vector< float > > mdtresAcc("mdtHitResidual")
static const SG::AuxElement::Accessor< std::vector< float > > tipzAcc("tgcInnPhiHitZ")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext4Acc("extension4")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext6Acc("extension6")
static const SG::AuxElement::Accessor< std::vector< float > > rmaxoAcc("rMaxOverlap")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext2Acc("extension2")
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius endcapAlpha
setTeId lumiBlock
static const SG::AuxElement::Accessor< std::vector< float > > zminoAcc("zMinOverlap")
static const SG::AuxElement::Accessor< std::vector< float > > spzAcc("superPointZ")
Object for accessing the superPointZ variable.
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext1Acc("extension1")
static const SG::AuxElement::Accessor< std::vector< float > > tmpwAcc("tgcMidPhiHitWidth")
static const SG::AuxElement::Accessor< std::vector< float > > emaxnAcc("etaMaxNormal")
setTeId setLumiBlock setRoiId setRoiSubsystem setRoiNumber setRoiEta setTgcPt setPtBarrelSagitta setPtEndcapBeta static setPtCSC const SG::AuxElement::Accessor< std::vector< int > > ct1nAcc("chamberType1Normal")
Object for accessing the road information.
static const SG::AuxElement::Accessor< std::vector< float > > zmaxoAcc("zMaxOverlap")
static const SG::AuxElement::Accessor< std::vector< float > > rmaxnAcc("rMaxNormal")
setPtBarrelSagitta ptEndcapBeta
static const SG::AuxElement::Accessor< std::vector< uint32_t > > csmrmAcc("removedCsmId")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > lvl1eAcc("lvl1Emulation")
Object for level 1 emulation info.
static const SG::AuxElement::Accessor< std::vector< float > > mdtspcAcc("mdtHitSpace")
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pb, setIP2D_pb) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1
static const SG::AuxElement::Accessor< std::vector< float > > tirrAcc("tgcInnRhoHitR")
static const SG::AuxElement::Accessor< std::vector< float > > awnAcc("roadAwNormal")
road slope and intercept
static const SG::AuxElement::Accessor< std::vector< float > > padxAcc("padHitX")
setTeId setLumiBlock setRoiId setRoiSubsystem setRoiNumber setRoiEta tgcPt
static const SG::AuxElement::Accessor< std::vector< uint32_t > > csmszAcc("csmSize")
static const SG::AuxElement::Accessor< std::vector< float > > tippAcc("tgcInnPhiHitPhi")
static const SG::AuxElement::Accessor< std::vector< float > > padzAcc("padHitZ")
static const SG::AuxElement::Accessor< std::vector< float > > trkzAcc("trackPositionZ")
static const SG::AuxElement::Accessor< std::vector< float > > tirpAcc("tgcInnRhoHitPhi")
Object for accessing TGC hits.
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setPhiMap setPhiBin isRpcFailure
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.
static const SG::AuxElement::Accessor< std::vector< float > > padrAcc("padHitR")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > robrmAcc("removedRobId")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > tmriAcc("tgcMidRhoHitInSeg")
setSAddress setEtaMS dirPhiMS
setTeId setLumiBlock setRoiId setRoiSubsystem setRoiNumber roiEta
static const SG::AuxElement::Accessor< std::vector< float > > tmrpAcc("tgcMidRhoHitPhi")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > padcAcc("padHitCode")
static const SG::AuxElement::Accessor< std::vector< float > > padyAcc("padHitY")
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner etaMap
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext3Acc("extension3")
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt static setDeltaPhi const SG::AuxElement::Accessor< std::vector< float > > sprAcc("superPointR")
Object for accessing the superPointR variable.
setTeId setLumiBlock roiId
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext7Acc("extension7")
setEventNumber uint32_t
static const SG::AuxElement::Accessor< std::vector< float > > tiprAcc("tgcInnPhiHitR")
static const SG::AuxElement::Accessor< std::vector< float > > mdtrAcc("mdtHitR")
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius interceptInner
static const SG::AuxElement::Accessor< std::vector< uint32_t > > ext5Acc("extension5")
static const SG::AuxElement::Accessor< std::vector< uint32_t > > tmpiAcc("tgcMidPhiHitInSeg")
static const SG::AuxElement::Accessor< std::vector< float > > mdtzAcc("mdtHitZ")
static const SG::AuxElement::Accessor< std::vector< float > > trkphiAcc("trackPositionPhi")
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure deltaPt
static const SG::AuxElement::Accessor< std::vector< uint32_t > > padiAcc("padHitOnlineId")
Object for accessing RPC pad hits.
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius phiMap
static const SG::AuxElement::Accessor< std::vector< uint32_t > > robidAcc("robId")
Object for ROB info.
static const SG::AuxElement::Accessor< std::vector< float > > tmrrAcc("tgcMidRhoHitR")
static const SG::AuxElement::Accessor< std::vector< float > > trkrAcc("trackPositionR")
Object for accessing track position variables.
static const SG::AuxElement::Accessor< std::vector< uint32_t > > mdtoffAcc("mdtHitOfflineId")
static const SG::AuxElement::Accessor< std::vector< int > > mdtcAcc("mdtHitChamberId")
static const SG::AuxElement::Accessor< std::vector< float > > eminnAcc("etaMinNormal")
Eta range.
static const SG::AuxElement::Accessor< std::vector< uint32_t > > csmidAcc("csmId")
Object for CSM info.
static const SG::AuxElement::Accessor< std::vector< float > > trketaAcc("trackPositionEta")