ATLAS Offline Software
|
This is an internal class, used in the jet trigger. More...
#include <JEMJetAlgorithm.h>
Public Member Functions | |
JEMJetAlgorithm (double eta, double phi, const std::map< int, JetInput * > *jiContainer, const TrigConf::L1Menu *l1menu) | |
~JEMJetAlgorithm () | |
double | eta () |
Accessors. More... | |
double | phi () |
Returns phi coordinate of RoI, using standard ATLAS convention. More... | |
int | Core () |
Returns RoI Core ET. More... | |
int | ET4x4 () |
Returns 4x4 TT cluster ET. More... | |
int | ET6x6 () |
Returns 6x6 TT cluster ET. More... | |
int | ET8x8 () |
Returns 8x8 TT cluster ET. More... | |
int | ETLarge () |
Returns Large cluster ET. More... | |
int | ETSmall () |
Returns Small cluster ET. More... | |
bool | isEtMax () |
Does this window pass the local ET maximum condition. More... | |
bool | isRoI () |
Does this window pass the local ET maximum condition. More... | |
xAOD::JEMTobRoI * | jemTobRoI () |
Create JEMTobRoI and return pointers to it. More... | |
Private Member Functions | |
void | setRoICoord (double eta, double phi) |
Compute RoI coordinate. More... | |
void | testEtMax (const std::vector< int > &cores) |
Form all 2x2 clusters within window and test centre is a local ET maximum. More... | |
void | passesTrigger () |
Check trigger condition and set ET values if TOB created. More... | |
Private Attributes | |
double | m_refEta |
double | m_refPhi |
const TrigConf::L1Menu * | m_l1menu {nullptr} |
double | m_eta |
Algorithm results. More... | |
double | m_phi |
int | m_ET4x4 |
int | m_ET6x6 |
int | m_ET8x8 |
int | m_ETLarge |
int | m_ETSmall |
bool | m_EtMax |
Static Private Attributes | |
static const int | m_satLarge = 0x3FF |
Algorithm parameters. More... | |
static const int | m_satSmall = 0x1FF |
This is an internal class, used in the jet trigger.
The JEMJetAlgorithm:
Definition at line 45 of file JEMJetAlgorithm.h.
LVL1::JEMJetAlgorithm::JEMJetAlgorithm | ( | double | eta, |
double | phi, | ||
const std::map< int, JetInput * > * | jiContainer, | ||
const TrigConf::L1Menu * | l1menu | ||
) |
This could potentially be called with the coordinate being the centre
of an RoI or the centre of a JetElement. We want to ensure that we
do the right thing in either case.
Offsetting by JE size/4 should put the coordinates inside the
reference JetElement whether input was reference JetElement
coordinate or RoI centre coordinate. Can't subtract a fixed amount
as the eta size of JetElements varies, so need to work out how much
to subtract first!
To be extra safe, the code below will then compute the centre
of the reference JetElement.
This should all ensure consistent & safe key generation however the
initial coordinate was specified.
Now loop over JetInputs within window and form clusters. ET8x8 = all elements ET4x4 = central 2x2 ET6x6 = most energetic of 4 clusters Interesting one is the 9 RoI cores. The logic below fills these as an a 9-element std::vector. The ordering of the elements is as follows: 2 5 8 1 4 7 0 3 6 So the RoI "ET maximum" condition is that 4 >= 0-3, 4 > 5-8 If you picture the cores in a 3x3 array, cores[iphi][ieta], then the index in the vector above = iphi + 3*ieta.
We use the fact that core[4] = ET4x4 to safe a little time here
Definition at line 35 of file JEMJetAlgorithm.cxx.
LVL1::JEMJetAlgorithm::~JEMJetAlgorithm | ( | ) |
Definition at line 154 of file JEMJetAlgorithm.cxx.
int LVL1::JEMJetAlgorithm::Core | ( | ) |
Returns RoI Core ET.
Definition at line 251 of file JEMJetAlgorithm.cxx.
int LVL1::JEMJetAlgorithm::ET4x4 | ( | ) |
Returns 4x4 TT cluster ET.
Definition at line 256 of file JEMJetAlgorithm.cxx.
int LVL1::JEMJetAlgorithm::ET6x6 | ( | ) |
Returns 6x6 TT cluster ET.
Definition at line 261 of file JEMJetAlgorithm.cxx.
int LVL1::JEMJetAlgorithm::ET8x8 | ( | ) |
Returns 8x8 TT cluster ET.
Definition at line 266 of file JEMJetAlgorithm.cxx.
double LVL1::JEMJetAlgorithm::eta | ( | ) |
int LVL1::JEMJetAlgorithm::ETLarge | ( | ) |
Returns Large cluster ET.
Definition at line 271 of file JEMJetAlgorithm.cxx.
int LVL1::JEMJetAlgorithm::ETSmall | ( | ) |
Returns Small cluster ET.
Definition at line 276 of file JEMJetAlgorithm.cxx.
bool LVL1::JEMJetAlgorithm::isEtMax | ( | ) |
Does this window pass the local ET maximum condition.
Definition at line 281 of file JEMJetAlgorithm.cxx.
bool LVL1::JEMJetAlgorithm::isRoI | ( | ) |
Does this window pass the local ET maximum condition.
Definition at line 286 of file JEMJetAlgorithm.cxx.
xAOD::JEMTobRoI * LVL1::JEMJetAlgorithm::jemTobRoI | ( | ) |
Create JEMTobRoI and return pointers to it.
Returns a JEMTobRoI object, provided the TOB conditions were met.
Will return a null pointer if object does not pass hypothesis. It is the user's responsibility to check
If not will return a null pointer - user's responsibility to check
Definition at line 303 of file JEMJetAlgorithm.cxx.
|
private |
Check trigger condition and set ET values if TOB created.
Definition at line 212 of file JEMJetAlgorithm.cxx.
double LVL1::JEMJetAlgorithm::phi | ( | ) |
Returns phi coordinate of RoI, using standard ATLAS convention.
Definition at line 296 of file JEMJetAlgorithm.cxx.
|
private |
Compute RoI coordinate.
Input coordinate should be inside "reference tower" of window. Computes RoI coordinate as centre of 2x2 element RoI core
Definition at line 159 of file JEMJetAlgorithm.cxx.
|
private |
Form all 2x2 clusters within window and test centre is a local ET maximum.
Input clusters form a list, arranged as
2 5 8
1 4 7
0 3 6
Then 4 = this window's RoI core, and ET max condition is
4 >= 0, 1, 2, 3 && 4 < 5, 6, 7, 8
Definition at line 194 of file JEMJetAlgorithm.cxx.
|
private |
Definition at line 83 of file JEMJetAlgorithm.h.
|
private |
Definition at line 84 of file JEMJetAlgorithm.h.
|
private |
Definition at line 85 of file JEMJetAlgorithm.h.
|
private |
Algorithm results.
Definition at line 81 of file JEMJetAlgorithm.h.
|
private |
Definition at line 86 of file JEMJetAlgorithm.h.
|
private |
Definition at line 88 of file JEMJetAlgorithm.h.
|
private |
Definition at line 87 of file JEMJetAlgorithm.h.
|
private |
Definition at line 78 of file JEMJetAlgorithm.h.
|
private |
Definition at line 82 of file JEMJetAlgorithm.h.
|
private |
Definition at line 76 of file JEMJetAlgorithm.h.
|
private |
Definition at line 77 of file JEMJetAlgorithm.h.
|
staticprivate |
Algorithm parameters.
Definition at line 93 of file JEMJetAlgorithm.h.
|
staticprivate |
Definition at line 94 of file JEMJetAlgorithm.h.