Skip to content
Snippets Groups Projects
Commit 0ffdf7ed authored by Tim Martin's avatar Tim Martin
Browse files

Merge branch 'cherry-pick-27a46c88' into '21.0-TrigMC'

Revert "Merge branch 'TrigRoiUpdater-update21.1' into '21.0-TrigMC'"

See merge request !6343

Former-commit-id: 02b8a13c
parents 32fb9622 384003c7
No related branches found
Tags release/21.5.2
No related merge requests found
......@@ -200,7 +200,7 @@ bool operator==( const IRoiDescriptor& roi0, const IRoiDescriptor& roi1 ) {
/// check geometry
if ( std::fabs(roi0.zed() -roi1.zed() )>1e-7 ) return false;
if ( std::fabs(roi0.zedPlus() -roi1.zedPlus() )>1e-7 ) return false;
if ( std::fabs(roi0.zedMinus()-roi1.zedMinus())>1e-7 ) return false;
if ( std::fabs(roi0.zedMinus()-roi1.zedMinus())<1e-7 ) return false;
if ( std::fabs(roi0.eta() -roi1.eta() )>1e-7 ) return false;
if ( std::fabs(roi0.etaPlus() -roi1.etaPlus() )>1e-7 ) return false;
......
......@@ -20,8 +20,7 @@ atlas_depends_on_subdirs( PUBLIC
PRIVATE
Control/AthenaKernel
DetectorDescription/IRegionSelector
DetectorDescription/RoiDescriptor
Event/ByteStreamCnvSvcBase
Event/ByteStreamCnvSvcBase
GaudiKernel
Trigger/TrigConfiguration/TrigConfL1Data
Trigger/TrigEvent/TrigNavigation
......
/*
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
*/
*/
#include "TrigRoiUpdater.h"
#include "GaudiKernel/MsgStream.h"
#include "GaudiKernel/IIncidentSvc.h"
#include "TrigSteeringEvent/TrigRoiDescriptor.h"
#include "RoiDescriptor/RoiDescriptor.h"
#include "IRegionSelector/RoiUtil.h"
#include "IRegionSelector/IRoiDescriptor.h"
#include "IRegionSelector/IRegSelSvc.h"
namespace PESA
{
TrigRoiUpdater::TrigRoiUpdater(const std::string &name,
ISvcLocator *pSvcLocator)
ISvcLocator *pSvcLocator)
: HLT::FexAlgo (name, pSvcLocator),
m_etaHalfWidth(0.),
m_phiHalfWidth(0.),
......@@ -97,7 +94,7 @@ namespace PESA
if (inc.type() == "BeginEvent") {
//cleanup stored RoIs
m_rois.clear();
}
}
}
///////////////////////////////////////////////////////////////////
......@@ -107,15 +104,15 @@ namespace PESA
ATH_MSG_DEBUG("execHLTAlgorithm()");
const TrigRoiDescriptor *roi = 0;
bool forIDfound=false;
bool updateNeeded=true;
m_inpPhiMinus = m_inpPhiPlus = m_inpPhiSize = -10.;
m_inpEtaMinus = m_inpEtaPlus = m_inpEtaSize = -10.;
m_PhiMinus = m_PhiPlus = m_PhiSize = -10.;
m_EtaMinus = m_EtaPlus = m_EtaSize = -10.;
const TrigRoiDescriptor *roi = 0;
bool forIDfound=false;
bool updateNeeded=true;
std::vector<std::string> roiNames = {"forID3","forID2","forID1", "forID", ""};
std::string roiName= "";
......@@ -129,14 +126,15 @@ namespace PESA
break;
}
}
if (roi->composite()) {
if (roi->composite()){
if (m_requestPIXRobs || m_requestSCTRobs){
registerROBs(roi);
registerROBs(roi);
}
ATH_MSG_DEBUG("Not touching a composite RoI");
updateNeeded = false;
return HLT::OK;
}
//signature specific modifications
......@@ -151,19 +149,24 @@ namespace PESA
ATH_MSG_DEBUG("don't use fixed RoI halfwidths for bjets");
updateNeeded = false;
}
TrigRoiDescriptor *outroi = 0;
if (updateNeeded) {
m_inpPhiMinus= roi->phiMinus(); m_inpPhiPlus = roi->phiPlus(); m_inpPhiSize= m_inpPhiPlus - m_inpPhiMinus;
m_inpEtaMinus= roi->etaMinus(); m_inpEtaPlus = roi->etaPlus(); m_inpEtaSize= m_inpEtaPlus - m_inpEtaMinus;
float eta = roi->eta();
float phi = roi->phi();
float oldEtaW = m_inpEtaPlus - m_inpEtaMinus;
float oldPhiW = m_inpPhiPlus - m_inpPhiMinus;
if ( m_inpPhiPlus < m_inpPhiMinus ) oldPhiW += 2*M_PI;
float diff_eta = 0.5*oldEtaW - m_etaHalfWidth;
......@@ -209,7 +212,12 @@ namespace PESA
if (m_monitorDuplicateRoIs){
for (auto it = m_rois.begin(); it != m_rois.end(); it++) {
TrigRoiDescriptor r = (*it);
if (r == *outroi) {
if (fabs(r.etaMinus()-outroi->etaMinus())<0.001 &&
fabs(r.etaPlus()-outroi->etaPlus())<0.001 &&
fabs(r.zedMinus()-outroi->zedMinus())<0.1 &&
fabs(r.zedPlus()-outroi->zedPlus())<0.1 &&
fabs(r.phiMinus()-outroi->phiMinus())<0.001 &&
fabs(r.phiPlus()-outroi->phiPlus())<0.001){
ATH_MSG_DEBUG("This RoI was already processed by the same instance of ID tracking");
ATH_MSG_DEBUG(*outroi);
ATH_MSG_DEBUG(r);
......@@ -218,12 +226,9 @@ namespace PESA
}
if (!thesameroi){
outroi->manageConstituents(false);
m_rois.push_back(*outroi);
// m_rois.back().manageConstituents(false);
ATH_MSG_DEBUG("Registering RoI " << m_rois.back());
}
else {
ATH_MSG_DEBUG("Registering RoI " << *outroi);
} else {
m_duplicateRoIs++;
}
}
......@@ -231,11 +236,10 @@ namespace PESA
m_invocations++;
return HLT::OK;
}
//////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
// Finalize
///////////////////////////////////////////////////////////////////
HLT::ErrorCode TrigRoiUpdater::hltFinalize() {
ATH_MSG_DEBUG("finalize() success");
......@@ -247,12 +251,11 @@ namespace PESA
// endRun method:
//----------------------------------------------------------------------------
HLT::ErrorCode TrigRoiUpdater::hltEndRun() {
ATH_MSG_DEBUG("TrigRoiUpdater::endRun()");
return HLT::OK;
}
//---------------------------------------------------------------------------
HLT::ErrorCode TrigRoiUpdater::registerROBs(const TrigRoiDescriptor *roi){
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment