diff --git a/Trigger/TrigTools/IDScanZFinder/python/ZFinderAlgConfig.py b/Trigger/TrigTools/IDScanZFinder/python/ZFinderAlgConfig.py index 95e98ad5549a4a2732cc76f20314ef3fbb228959..7c6ac294309211ae4ca95ec818ecc83d2bc80e01 100644 --- a/Trigger/TrigTools/IDScanZFinder/python/ZFinderAlgConfig.py +++ b/Trigger/TrigTools/IDScanZFinder/python/ZFinderAlgConfig.py @@ -6,22 +6,22 @@ from IDScanZFinder.IDScanZFinderConf import TrigZFinder MinBiasZFinderAlg = TrigZFinderAlg("TrigZFinderAlg", vertexKey=recordable("HLT_vtx_z")) MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("default")] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike", TripletMode=1, TripletDZ=1, PhiBinSize=0.1, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike1", TripletMode=1, TripletDZ=1, PhiBinSize=0.05, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike2", TripletMode=1, TripletDZ=1, PhiBinSize=0.02, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike3", TripletMode=1, TripletDZ=1, PhiBinSize=0.01, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike4", TripletMode=1, TripletDZ=0.5, PhiBinSize=0.1, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike5", TripletMode=1, TripletDZ=0.5, PhiBinSize=0.05, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike6", TripletMode=1, TripletDZ=0.5, PhiBinSize=0.02, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike7", TripletMode=1, TripletDZ=0.5, PhiBinSize=0.01, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike8", TripletMode=1, TripletDZ=1.5, PhiBinSize=0.1, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike9", TripletMode=1, TripletDZ=1.5, PhiBinSize=0.05, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike10", TripletMode=1, TripletDZ=1.5, PhiBinSize=0.02, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike11", TripletMode=1, TripletDZ=1.5, PhiBinSize=0.01, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike12", TripletMode=1, TripletDZ=2, PhiBinSize=0.1, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike13", TripletMode=1, TripletDZ=2, PhiBinSize=0.05, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike14", TripletMode=1, TripletDZ=2, PhiBinSize=0.02, UseOnlyPixels=True, MaxLayer=3)] -MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike15", TripletMode=1, TripletDZ=2, PhiBinSize=0.01, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike", TripletMode=1, TripletDZ=1, ForcePhiBinSize =True, PhiBinSize=0.1, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike1", TripletMode=1, TripletDZ=1, ForcePhiBinSize =True, PhiBinSize=0.05, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike2", TripletMode=1, TripletDZ=1, ForcePhiBinSize =True, PhiBinSize=0.02, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike3", TripletMode=1, TripletDZ=1, ForcePhiBinSize =True, PhiBinSize=0.01, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike4", TripletMode=1, TripletDZ=0.5, ForcePhiBinSize =True, PhiBinSize=0.1, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike5", TripletMode=1, TripletDZ=0.5, ForcePhiBinSize =True, PhiBinSize=0.05, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike6", TripletMode=1, TripletDZ=0.5, ForcePhiBinSize =True, PhiBinSize=0.02, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike7", TripletMode=1, TripletDZ=0.5, ForcePhiBinSize =True, PhiBinSize=0.01, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike8", TripletMode=1, TripletDZ=1.5, ForcePhiBinSize =True, PhiBinSize=0.1, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike9", TripletMode=1, TripletDZ=1.5, ForcePhiBinSize =True, PhiBinSize=0.05, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike10", TripletMode=1, TripletDZ=1.5, ForcePhiBinSize =True, PhiBinSize=0.02, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike11", TripletMode=1, TripletDZ=1.5, ForcePhiBinSize =True, PhiBinSize=0.01, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike12", TripletMode=1, TripletDZ=2, ForcePhiBinSize =True, PhiBinSize=0.1, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike13", TripletMode=1, TripletDZ=2, ForcePhiBinSize =True, PhiBinSize=0.05, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike14", TripletMode=1, TripletDZ=2, ForcePhiBinSize =True, PhiBinSize=0.02, UseOnlyPixels=True, MaxLayer=3)] +MinBiasZFinderAlg.ZFinderTools += [TrigZFinder("BeamSpotLike15", TripletMode=1, TripletDZ=2, ForcePhiBinSize =True, PhiBinSize=0.01, UseOnlyPixels=True, MaxLayer=3)] from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool diff --git a/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinder.cxx b/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinder.cxx index 3b3a27f101ca376556f79212e68a81e61b51986c..1ff46d87c99ed9ae1a496d2beba618b95e347709 100755 --- a/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinder.cxx +++ b/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinder.cxx @@ -68,7 +68,7 @@ StatusCode IDScanZFinder::initialize() /// NB: These only have to go here, because they need to write to the msgsvc, and because /// is rubbish, we can't pass in a pointer to a (non-athena) sub algorithm. - if ( m_phiBinSize < ZFinder_MinPhiSliceSize ){ + if ( m_phiBinSize < ZFinder_MinPhiSliceSize and ! m_forcePhiBinSize ){ ATH_MSG_WARNING("Requested PhiBinSize of " << m_phiBinSize << " degrees is smaller than the minimum allowed (" << ZFinder_MinPhiSliceSize << " degrees). Set to the minimum value."); diff --git a/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinderInternal.h b/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinderInternal.h index 9d608fe54b19bd9c32aeb92bcb1497f0230adc5e..ae1f2949c85830db7dac3f7f22449ae3a68de03b 100644 --- a/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinderInternal.h +++ b/Trigger/TrigTools/IDScanZFinder/src/IDScanZFinderInternal.h @@ -100,7 +100,8 @@ protected: // data members double m_invPhiSliceSize; // the inverse size of the phi slices long m_NumPhiSlices; // the number of phi slices, given the width of the RoI - double m_phiBinSize; // the size of the phi slices + double m_phiBinSize; // the size of the phi slices + bool m_forcePhiBinSize; // forces the phi bin size to be be used as configured even if below reasonable limit double m_usedphiBinSize; // the size of the phi slices double m_ROIphiWidth; // the phi width of the ROI double m_usedROIphiWidth; // the phi width of the ROI @@ -174,6 +175,7 @@ IDScanZFinderInternal<SpacePoint>::IDScanZFinderInternal( const std::string& typ m_Name = name; m_phiBinSize = 0.2 ; + m_forcePhiBinSize = false ; m_usedphiBinSize = m_phiBinSize ; m_pixOnly = false ; m_ROIphiWidth = 0.2 ; @@ -234,7 +236,7 @@ void IDScanZFinderInternal<SpacePoint>::initializeInternal(long maxLayers, long // from IDScanZFinder::initialize m_usedphiBinSize = m_phiBinSize; - if ( m_usedphiBinSize < ZFinder_MinPhiSliceSize ) m_usedphiBinSize = ZFinder_MinPhiSliceSize; + if ( m_usedphiBinSize < ZFinder_MinPhiSliceSize and ! m_forcePhiBinSize) m_usedphiBinSize = ZFinder_MinPhiSliceSize; if ( m_dphideta > 0 ) m_dphideta *= -m_dphideta; m_invPhiSliceSize = 180./(M_PI*m_usedphiBinSize); diff --git a/Trigger/TrigTools/IDScanZFinder/src/TrigZFinder.cxx b/Trigger/TrigTools/IDScanZFinder/src/TrigZFinder.cxx index 216fa629c16f1fdb3aefd1e524730a512a388c00..1e807574d4ea05c521d0df01aa4c52cd8a25fee8 100755 --- a/Trigger/TrigTools/IDScanZFinder/src/TrigZFinder.cxx +++ b/Trigger/TrigTools/IDScanZFinder/src/TrigZFinder.cxx @@ -33,6 +33,7 @@ TrigZFinder::TrigZFinder( const std::string& type, const std::string& name, cons // std::cout << "ZFinder::ZFinder() version " << name << " " << type << "\tTrigZFinder-00-00-62"<< std::endl; declareProperty( "PhiBinSize", m_phiBinSize = 0.2 ); + declareProperty( "ForcePhiBinSize", m_forcePhiBinSize = false ); declareProperty( "UseOnlyPixels", m_pixOnly = false ); declareProperty( "MinZBinSize", m_minZBinSize = 0.2 ); declareProperty( "nFirstLayers", m_nFirstLayers = 3 ); @@ -76,7 +77,7 @@ StatusCode TrigZFinder::initialize() /// NB: These only have to go here, because they need to write to the msgsvc, and because /// is rubbish, we can't pass in a pointer to a (non-athena) sub algorithm. - if ( m_phiBinSize < ZFinder_MinPhiSliceSize ){ + if ( m_phiBinSize < ZFinder_MinPhiSliceSize and ! m_forcePhiBinSize ){ ATH_MSG_WARNING("Requested PhiBinSize of " << m_phiBinSize << " degrees is smaller than the minimum allowed (" << ZFinder_MinPhiSliceSize << " degrees). Set to the minimum value."); diff --git a/Trigger/TrigTools/IDScanZFinder/src/TrigZFinderInternal.cxx b/Trigger/TrigTools/IDScanZFinder/src/TrigZFinderInternal.cxx index c5d948b4edb8a436780749f124c11e5b862aa991..ac74bb46e346e374f6f7b9e75f6f72592cbe52b1 100644 --- a/Trigger/TrigTools/IDScanZFinder/src/TrigZFinderInternal.cxx +++ b/Trigger/TrigTools/IDScanZFinder/src/TrigZFinderInternal.cxx @@ -96,7 +96,7 @@ void TrigZFinderInternal::initializeInternal(long maxLayers, long lastBarrel ) // from TrigZFinder::initialize m_usedphiBinSize = m_phiBinSize; - if ( m_usedphiBinSize < ZFinder_MinPhiSliceSize ) m_usedphiBinSize = ZFinder_MinPhiSliceSize; + if ( m_usedphiBinSize < ZFinder_MinPhiSliceSize and ! m_forcePhiBinSize) m_usedphiBinSize = ZFinder_MinPhiSliceSize; if ( m_dphideta > 0 ) m_dphideta *= -m_dphideta; m_invPhiSliceSize = 180./(M_PI*m_usedphiBinSize); diff --git a/Trigger/TrigTools/IDScanZFinder/src/TrigZFinderInternal.h b/Trigger/TrigTools/IDScanZFinder/src/TrigZFinderInternal.h index 8c3f70481277434d738b9e33007e9337ce81f407..346d37ff4b11e1ba78d4ed8e236a92a0dac13878 100644 --- a/Trigger/TrigTools/IDScanZFinder/src/TrigZFinderInternal.h +++ b/Trigger/TrigTools/IDScanZFinder/src/TrigZFinderInternal.h @@ -91,6 +91,7 @@ protected: // data members long m_NumPhiSlices = 0L; // the number of phi slices, given the width of the RoI double m_phiBinSize; // the size of the phi slices + bool m_forcePhiBinSize; // respect the config of phi bin even if below reasonable threshold double m_usedphiBinSize; // the size of the phi slices double m_ROIphiWidth; // the phi width of the ROI double m_usedROIphiWidth; // the phi width of the ROI