15 const std::string& name,
16 const IInterface* parent )
40 if ( *std::min_element( sizes.begin(), sizes.end() ) != *std::max_element( sizes.begin(), sizes.end() ) ) {
41 ATH_MSG_ERROR(
"Missconfiguration, cut properties listed above ( when DEBUG ) have different dimensions shortest: "
42 << *std::min_element( sizes.begin(), sizes.end() ) <<
" longest "
43 << *std::max_element( sizes.begin(), sizes.end() ) );
44 return StatusCode::FAILURE;
47 return StatusCode::SUCCESS;
53 for (
auto& i: input ) {
55 if (
decide( i.photon ) ) {
60 return StatusCode::SUCCESS;
80 mon_Rcore, mon_Eratio,
81 mon_HadEt, mon_F1,mon_HadEmRatio );
84 float HadEmRatio = -99.0;
90 if(!photon)
return false;
95 float absEta = std::abs( photon->eta() );
100 Eratio = photon->eratio();
101 Reta = photon->rcore();
103 HadET = photon->etHad();
107 ATH_MSG_DEBUG (
"Accept all property is set: TrigPhoton: ET_em=" << EmET <<
" cut in etaBin "
108 << etaBin <<
" is ET_em >= " <<
m_eTthr[0] );
120 mon_Eta = photon->eta();
121 mon_Phi = photon->phi();
126 <<
" not in etaBin " << etaBin <<
" is ET_em < " <<
m_eTthr[etaBin] );
134 ATH_MSG_DEBUG(
"FastPhoton FAILS Reta=" << Reta <<
" cut in etaBin "
143 bool inCrack = ( absEta > 2.37 || ( absEta > 1.37 && absEta < 1.52) );
144 if ( inCrack || f1<
m_F1thr[etaBin] ) {
145 ATH_MSG_DEBUG(
"FastPhoton: InCrack= " << inCrack <<
" F1=" << f1
146 <<
" Eratio cut not being applied" );
149 ATH_MSG_DEBUG(
"FastPhoton FAILS Eratio=" << Eratio <<
" cut in etaBin "
155 if(inCrack) Eratio = -1;
170 HadEmRatio = (EmET!=0) ? HadET/EmET : -1.0;
172 if ( HadEmRatio > hadET_cut ){
173 ATH_MSG_DEBUG(
"FastPhoton FAILS ET_had=" << HadEmRatio <<
" cut in etaBin "
174 << etaBin <<
" is ERatio >= " << hadET_cut );
179 mon_HadEmRatio = HadEmRatio;
190 const float absEta = std::abs(
eta);
191 auto binIterator = std::adjacent_find(
m_etabin.begin(),
m_etabin.end(), [=](
float left,
float right){ return left < absEta and absEta < right; } );
192 if ( binIterator ==
m_etabin.end() ) {
195 return binIterator -
m_etabin.begin();
Scalar eta() const
pseudorapidity method
#define ATH_CHECK
Evaluate an expression and check for errors.
Header file to be included by clients of the Monitored infrastructure.
Group of local monitoring quantities and retain correlation when filling histograms
Declare a monitored scalar variable.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
TrigPhoton_v1 TrigPhoton
Declare the latest version of TrigPhoton.