ATLAS Offline Software
Loading...
Searching...
No Matches
L1CaloRdoEfexTob.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3*/
5
7
8#include <iomanip>
9#include <iostream>
10
11//>>#include "channelMappings/CpmTowerMapping.h" // Use Efex mapping!!
12
28
29
30L1CaloRdoEfexTob::L1CaloRdoEfexTob( int crate, int module, int eta, int phi, int numSlices,
31 TobType tobType, TobSource source, int id, int fibre, int tobSeq )
32: L1CaloRdoFexTob( crate, module, eta, phi, numSlices, tobType, source, id, fibre, tobSeq )
33{
34 int fpga = (eta-1)/4;
35 if ( fpga < 0 )
36 fpga = 0;
37 if ( fpga > 3 )
38 fpga = 3;
39 int localeta = eta-4*fpga;
41 EfexCellMapping map( roi, crate, module, fpga, localeta, phi );
42 setRegion( map.getDetectorRegion() );
43}
44
45void
47{
48 std::cout << " Isolation: " << std::hex;
49 for ( size_t s = 0 ; s < numSlices() ; ++s )
50 {
51 std::cout << std::setw(2) << getIsol( s ) << " ";
52 }
53 std::cout << std::dec << std::endl;
54}
55
56/*
57bool
58L1CaloRdoEfexTob::getOverflow( size_t slice ) const
59{
60 return ( getFlag( slice ) & 0x10 ); // **FIXME**
61}
62
63bool
64L1CaloRdoEfexTob::getOverflow( ) const
65{
66 return getOverflow( getL1aPos() );
67}
68*/
69
73int
74L1CaloRdoEfexTob::getClusterEt( size_t slice ) const
75{
76 return ( getValue( slice ) & 0xffff );
77}
78
79int
81{
82 return getClusterEt( getL1aPos() );
83}
84
88int
89L1CaloRdoEfexTob::getIsol( size_t slice ) const
90{
91 return ( ( getFlag( slice ) >> 18 ) & 0x3f );
92}
93
94int
96{
97 return getIsol( getL1aPos() );
98}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
New class for Efex Cell Mappings, constructs either from shared CSVTables instance.
L1CaloRdoEfexTob(int crate, int module, int eta, int phi, int numSlices, TobType tobType, TobSource source, int id=0, int fibre=0, int tobSeq=0)
virtual void infoSpecific() const override
L1CaloRdoFexTob(int crate, int module, int eta, int phi, int numSlices, TobType tobType, TobSource source, int id=0, int fibre=0, int tobSeq=0)
int getFlag() const
size_t numSlices() const
void setRegion(const L1CaloDetectorRegion &region)
int getValue() const
int getL1aPos() const
STL class.