#include <LaserAlignment.h>
Private Member Functions | |
void | ApplyATMaskingCorrections (LASGlobalData< LASCoordinateSet > &, LASGlobalData< LASCoordinateSet > &, LASBarrelAlignmentParameterSet &) |
same for alignment tube modules More... | |
void | ApplyEndcapMaskingCorrections (LASGlobalData< LASCoordinateSet > &, LASGlobalData< LASCoordinateSet > &, LASEndcapAlignmentParameterSet &) |
apply endcap correction to masked modules in TEC More... | |
void | CalculateNominalCoordinates (void) |
fills a LASGlobalData<LASCoordinateSet> with nominal module positions More... | |
double | ConvertAngle (double) |
convert an angle in the [-pi,pi] range to the [0,2*pi] range More... | |
void | DumpHitmaps (LASGlobalData< int > &) |
for debugging only, will disappear More... | |
void | DumpPosFileSet (LASGlobalData< LASCoordinateSet > &) |
for debugging only, will disappear More... | |
void | DumpStripFileSet (LASGlobalData< std::pair< float, float > > &) |
for debugging only, will disappear More... | |
void | fillDataProfiles (edm::Event const &, edm::EventSetup const &) |
fill profiles from SiStrip(Raw)Digi container More... | |
void | fillDetectorId (void) |
fill hard coded detIds More... | |
void | fillPedestalProfiles (edm::ESHandle< SiStripPedestals > &) |
fill pedestals from dbase More... | |
double | getTEC2TECNominalBeamOffset (unsigned int, unsigned int, unsigned int) |
returns the nominal beam position (strips) in TEC (AT) for the profileJudge More... | |
double | getTIBTOBNominalBeamOffset (unsigned int, unsigned int, unsigned int) |
returns the nominal beam position (strips) in TOB for the profileJudge More... | |
bool | isATBeam (void) |
bool | isTECBeam (void) |
decide whether TEC or AT beams have fired More... | |
Additional Inherited Members | |
Public Types inherited from edm::one::EDProducerBase | |
typedef EDProducerBase | ModuleType |
Public Types inherited from edm::ProducerBase | |
using | ModuleToResolverIndicies = std::unordered_multimap< std::string, std::tuple< edm::TypeID const *, const char *, edm::ProductResolverIndex >> |
typedef ProductRegistryHelper::TypeLabelList | TypeLabelList |
Public Types inherited from edm::EDConsumerBase | |
typedef ProductLabels | Labels |
Static Public Member Functions inherited from edm::one::EDProducerBase | |
static const std::string & | baseType () |
static void | fillDescriptions (ConfigurationDescriptions &descriptions) |
static void | prevalidate (ConfigurationDescriptions &descriptions) |
Protected Member Functions inherited from edm::ProducerBase | |
ProducesCollector | producesCollector () |
Protected Member Functions inherited from edm::EDConsumerBase | |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | consumes (edm::InputTag const &tag) |
EDGetToken | consumes (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | consumes (TypeToGet const &id, edm::InputTag const &tag) |
ConsumesCollector | consumesCollector () |
Use a ConsumesCollector to gather consumes information from helper functions. More... | |
template<typename ProductType , BranchType B = InEvent> | |
void | consumesMany () |
void | consumesMany (const TypeToGet &id) |
template<BranchType B> | |
void | consumesMany (const TypeToGet &id) |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes () |
template<typename ESProduct , typename ESRecord , Transition Tr = Transition::Event> | |
auto | esConsumes (ESInputTag const &tag) |
template<typename ProductType , BranchType B = InEvent> | |
EDGetTokenT< ProductType > | mayConsume (edm::InputTag const &tag) |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
template<BranchType B> | |
EDGetToken | mayConsume (const TypeToGet &id, edm::InputTag const &tag) |
Main reconstruction module for the Laser Alignment System
Definition at line 73 of file LaserAlignment.h.
|
explicit |
Definition at line 19 of file LaserAlignment.cc.
References SiStripOfflineCRack_cfg::alias, gather_cfg::cout, enableJudgeZeroFilter, LASProfileJudge::EnableZeroFilter(), edm::ParameterSet::getParameter(), judge, judgeOverdriveThreshold, misalignedByRefGeometry, peakFinderThreshold, LASProfileJudge::SetOverdriveThreshold(), AlCaHLTBitMon_QueryRunRegistry::string, theApplyBeamKinkCorrections, theCompression, theDoPedestalSubtraction, theFileName, theMaskAtModules, theMaskTecModules, theSaveHistograms, theSetNominalStrips, theStoreToDB, theUseMinuitAlgorithm, and updateFromInputGeometry.
|
override |
Definition at line 109 of file LaserAlignment.cc.
References theAlignableTracker, theFile, and theSaveHistograms.
|
private |
same for alignment tube modules
loop the list of alignment tube modules to be masked and apply the corrections from the "barrelParameters" to them
Definition at line 1618 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, detectorId, LASCoordinateSet::GetPhi(), LASAlignmentTubeAlgorithm::GetTEC2TECAlignmentParameterCorrection(), LASGlobalData< T >::GetTEC2TECEntry(), LASAlignmentTubeAlgorithm::GetTIBTOBAlignmentParameterCorrection(), LASGlobalData< T >::GetTIBTOBEntry(), moduleLoop, LASCoordinateSet::SetPhi(), LASGlobalLoop::TEC2TECLoop(), theMaskAtModules, and LASGlobalLoop::TIBTOBLoop().
Referenced by endRunProduce().
|
private |
apply endcap correction to masked modules in TEC
loop the list of endcap modules to be masked and apply the corrections from the "endcapParameters" to them
Definition at line 1578 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, detectorId, LASEndcapAlgorithm::GetAlignmentParameterCorrection(), LASCoordinateSet::GetPhi(), LASGlobalData< T >::GetTECEntry(), moduleLoop, relativeConstraints::ring, LASCoordinateSet::SetPhi(), LASGlobalLoop::TECLoop(), and theMaskTecModules.
Referenced by endRunProduce().
|
overridevirtual |
Reimplemented from edm::one::EDProducerBase.
Definition at line 123 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, collectedDataProfiles, currentDataProfiles, Exception, fillDetectorId(), firstEvent_, LASGlobalData< T >::GetTEC2TECEntry(), LASGlobalData< T >::GetTECEntry(), LASGlobalData< T >::GetTIBTOBEntry(), isAcceptedProfile, moduleLoop, numberOfAcceptedProfiles, pedestalProfiles, relativeConstraints::ring, LASModuleProfile::SetAllValuesTo(), LASGlobalData< T >::SetTEC2TECEntry(), LASGlobalData< T >::SetTECEntry(), LASGlobalData< T >::SetTIBTOBEntry(), singleModulesDir, summedHistograms, LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), theCompression, theFile, theFileName, theProfileNames, theSaveHistograms, and LASGlobalLoop::TIBTOBLoop().
|
private |
fills a LASGlobalData<LASCoordinateSet> with nominal module positions
Definition at line 1325 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, moduleLoop, nominalCoordinates, relativeConstraints::ring, LASGlobalData< T >::SetTEC2TECEntry(), LASGlobalData< T >::SetTECEntry(), LASGlobalData< T >::SetTIBTOBEntry(), LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), and LASGlobalLoop::TIBTOBLoop().
Referenced by endRunProduce().
|
private |
convert an angle in the [-pi,pi] range to the [0,2*pi] range
convert an angle in the [-pi,pi] range to the [0,2*pi] range
Definition at line 1419 of file LaserAlignment.cc.
References angle(), Exception, and M_PI.
Referenced by endRunProduce().
|
private |
for debugging only, will disappear
Definition at line 1524 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, gather_cfg::cout, and LASGlobalData< T >::GetTECEntry().
Referenced by endRunProduce().
|
private |
for debugging only, will disappear
debug only, will disappear
Definition at line 1434 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, gather_cfg::cout, LASCoordinateSet::GetPhi(), LASCoordinateSet::GetPhiError(), LASGlobalData< T >::GetTEC2TECEntry(), LASGlobalData< T >::GetTECEntry(), LASGlobalData< T >::GetTIBTOBEntry(), heppy_loop::loop, relativeConstraints::ring, LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), and LASGlobalLoop::TIBTOBLoop().
|
private |
for debugging only, will disappear
Definition at line 1479 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, gather_cfg::cout, heppy_loop::loop, relativeConstraints::ring, LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), and LASGlobalLoop::TIBTOBLoop().
|
overridevirtual |
Reimplemented from edm::one::EDProducerBase.
Definition at line 928 of file LaserAlignment.cc.
Referenced by o2olib.O2ORunMgr::executeJob().
|
override |
laser hit section for trackbased interface
due to the peculiar order of beams in TkLasBeamCollection, we cannot use the LASGlobalLoop object here
Definition at line 483 of file LaserAlignment.cc.
References AlignableTracker::alignmentErrors(), AlignableTracker::alignments(), ApplyATMaskingCorrections(), LASGeometryUpdater::ApplyBeamKinkCorrections(), ApplyEndcapMaskingCorrections(), PV3DBase< T, PVType, FrameType >::barePhi(), EcalCondDBWriter_cfi::beam, cond::service::PoolDBOutputService::beginOfTime(), CalculateNominalCoordinates(), LASAlignmentTubeAlgorithm::CalculateParameters(), LASBarrelAlgorithm::CalculateParameters(), LASEndcapAlgorithm::CalculateParameters(), collectedDataProfiles, ConvertAngle(), gather_cfg::cout, detectorId, DumpHitmaps(), LASGeometryUpdater::EndcapUpdate(), LASPeakFinder::FindPeakIn(), LASGlobalData< T >::GetTEC2TECEntry(), getTEC2TECNominalBeamOffset(), LASGlobalData< T >::GetTECEntry(), LASGlobalData< T >::GetTIBTOBEntry(), getTIBTOBNominalBeamOffset(), TrackerGeometry::idToDet(), edm::Service< T >::isAvailable(), align_cfg::iteration, laserBeams, misalignedByRefGeometry, moduleLoop, eostools::move(), nominalCoordinates, numberOfAcceptedProfiles, peakFinderThreshold, LASBarrelAlignmentParameterSet::Print(), LASEndcapAlignmentParameterSet::Print(), TkLasBeam::push_back(), edm::Run::put(), relativeConstraints::ring, LASPeakFinder::SetAmplitudeThreshold(), LASGeometryUpdater::SetMisalignmentFromRefGeometry(), LASCoordinateSet::SetPhi(), LASCoordinateSet::SetPhiError(), LASGeometryUpdater::SetReverseDirection(), LASGlobalData< T >::SetTEC2TECEntry(), LASGlobalData< T >::SetTECEntry(), LASGlobalData< T >::SetTIBTOBEntry(), summedHistograms, LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), theAlignableTracker, theAlignRecordName, theApplyBeamKinkCorrections, theErrorRecordName, theEvents, theLasConstants, theMaskAtModules, theMaskTecModules, theSetNominalStrips, theStoreToDB, theTrackerGeometry, theUseMinuitAlgorithm, LASGlobalLoop::TIBTOBLoop(), LASGeometryUpdater::TrackerUpdate(), updateFromInputGeometry, and cond::service::PoolDBOutputService::writeOne().
|
private |
fill profiles from SiStrip(Raw)Digi container
fills the module profiles (LASGlobalLoop<LASModuleProfile> currentDataProfiles) from the event digi containers, distinguishing between SiStripDigi or SiStripRawDigi.
Definition at line 934 of file LaserAlignment.cc.
References SiStripDigi::adc(), SiStripRawDigi::adc(), EcalCondDBWriter_cfi::beam, edm::DetSetVector< T >::begin(), currentDataProfiles, detectorId, DataMixerDataOnData_cff::digiLabel, EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::digiProducer, HLT_2018_cff::distance, edm::DetSetVector< T >::end(), Exception, edm::Event::getByLabel(), LASGlobalData< T >::GetTEC2TECEntry(), LASGlobalData< T >::GetTECEntry(), LASGlobalData< T >::GetTIBTOBEntry(), moduleLoop, relativeConstraints::ring, LASModuleProfile::SetAllValuesTo(), LASModuleProfile::SetValue(), AlCaHLTBitMon_QueryRunRegistry::string, SiStripDigi::strip(), LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), theDigiProducersList, and LASGlobalLoop::TIBTOBLoop().
Referenced by produce().
|
private |
fill hard coded detIds
all the detector ids for the LAS modules hard-coded
Definition at line 7 of file LaserAlignmentFillDetId.cc.
References detectorId, LASGlobalData< T >::SetTEC2TECEntry(), LASGlobalData< T >::SetTECEntry(), LASGlobalData< T >::SetTIBTOBEntry(), and tecDoubleHitDetId.
Referenced by beginJob().
|
private |
fill pedestals from dbase
This function fills the pedestal profiles (LASGlobalData<LASModuleProfiles> pedestalProfiles) from the ESHandle (from file or DB)
Argument: readily connected SiStripPedestals object (get() alredy called) The functionality inside the loops is basically taken from: CommonTools/SiStripZeroSuppression/src/SiStripPedestalsSubtractor.cc
Definition at line 1166 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, detectorId, SiStripPedestals::getPed(), SiStripPedestals::getRange(), LASGlobalData< T >::GetTEC2TECEntry(), LASGlobalData< T >::GetTECEntry(), LASGlobalData< T >::GetTIBTOBEntry(), createfilelist::int, moduleLoop, pedestalProfiles, relativeConstraints::ring, LASModuleProfile::SetValue(), digitizers_cfi::strip, LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), and LASGlobalLoop::TIBTOBLoop().
Referenced by produce().
|
private |
returns the nominal beam position (strips) in TEC (AT) for the profileJudge
not all TEC-AT modules are hit in the center; this func returns the nominal beam offset locally on a module (in strips) for the ProfileJudge and the LASPeakFinder in strips. (offset = middle of module - nominal position)
the hard coded numbers will later be supplied by a special geometry class..
Definition at line 1307 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, and Exception.
Referenced by endRunProduce().
|
private |
returns the nominal beam position (strips) in TOB for the profileJudge
not all TIB & TOB modules are hit in the center; this func returns the nominal beam offset locally on a module (in strips) for the ProfileJudge and the LASPeakFinder in strips. (offset = middle of module - nominal position)
the hard coded numbers will later be supplied by a special geometry class..
Definition at line 1272 of file LaserAlignment.cc.
Referenced by endRunProduce(), and produce().
|
private |
count useable profiles in TIBTOB, operates on LASGlobalData<bool> LaserAlignment::isAcceptedProfile to allow for more elaborate patterns in the future
Definition at line 1245 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, gather_cfg::cout, LASGlobalData< T >::GetTIBTOBEntry(), isAcceptedProfile, LogDebug, moduleLoop, and LASGlobalLoop::TIBTOBLoop().
Referenced by produce().
|
private |
decide whether TEC or AT beams have fired
count useable profiles in TEC, operates on LASGlobalData<int> LaserAlignment::isAcceptedProfile to allow for more elaborate patterns in the future
Definition at line 1218 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, gather_cfg::cout, LASGlobalData< T >::GetTECEntry(), isAcceptedProfile, LogDebug, and relativeConstraints::ring.
Referenced by produce().
|
overridevirtual |
Implements edm::one::EDProducerBase.
Definition at line 271 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, TrackerGeomBuilderFromGeometricDet::build(), collectedDataProfiles, gather_cfg::cout, currentDataProfiles, detectorId, edm::EventID::event(), fillDataProfiles(), fillPedestalProfiles(), spr::find(), firstEvent_, gD, edm::EventSetup::get(), edm::eventsetup::DependentRecordImplementation< RecordT, ListT >::get(), LASGlobalData< T >::GetTEC2TECEntry(), LASGlobalData< T >::GetTECEntry(), LASGlobalData< T >::GetTIBTOBEntry(), getTIBTOBNominalBeamOffset(), edm::EventBase::id(), isAcceptedProfile, isATBeam(), LASProfileJudge::IsSignalIn(), isTECBeam(), judge, LASProfileJudge::JudgeProfile(), LogDebug, moduleLoop, numberOfAcceptedProfiles, pedestalProfiles, edm::ESHandle< T >::product(), relativeConstraints::ring, edm::EventID::run(), LASGlobalData< T >::SetTECEntry(), LASGlobalData< T >::SetTIBTOBEntry(), LASGlobalLoop::TEC2TECLoop(), tecDoubleHitDetId, LASGlobalLoop::TECLoop(), theAlignableTracker, theDoPedestalSubtraction, theEvents, theGlobalPositionRcd, theProfileNames, theTrackerGeometry, LASGlobalLoop::TIBTOBLoop(), and updateFromInputGeometry.
Referenced by JSONExport.JsonExport::export(), HTMLExport.HTMLExport::export(), and HTMLExport.HTMLExportStatic::export().
void LaserAlignment::testRoutine | ( | void | ) |
for debugging & testing only, will disappear..
this function is for debugging and testing only and will disappear..
Definition at line 1679 of file LaserAlignment.cc.
References EcalCondDBWriter_cfi::beam, gather_cfg::cout, DEFINE_FWK_MODULE, detectorId, LASGlobalData< T >::GetTEC2TECEntry(), LASGlobalData< T >::GetTECEntry(), LASGlobalData< T >::GetTIBTOBEntry(), runTauDisplay::gp, TrackerGeometry::idToDet(), moduleLoop, CosmicsPD_Skims::radius, relativeConstraints::ring, LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), theTrackerGeometry, theZ, and LASGlobalLoop::TIBTOBLoop().
|
private |
Definition at line 199 of file LaserAlignment.h.
Referenced by beginJob(), endRunProduce(), and produce().
|
private |
data profiles for the current event
Definition at line 196 of file LaserAlignment.h.
Referenced by beginJob(), fillDataProfiles(), and produce().
|
private |
Definition at line 187 of file LaserAlignment.h.
Referenced by ApplyATMaskingCorrections(), ApplyEndcapMaskingCorrections(), endRunProduce(), fillDataProfiles(), fillDetectorId(), fillPedestalProfiles(), produce(), and testRoutine().
|
private |
|
private |
Definition at line 235 of file LaserAlignment.h.
Referenced by beginJob(), and produce().
|
private |
|
private |
Definition at line 209 of file LaserAlignment.h.
Referenced by beginJob(), isATBeam(), isTECBeam(), and produce().
|
private |
Definition at line 181 of file LaserAlignment.h.
Referenced by LaserAlignment(), and produce().
|
private |
config parameters for the LASProfileJudge
Definition at line 149 of file LaserAlignment.h.
Referenced by LaserAlignment().
|
private |
config switch
Definition at line 155 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
Definition at line 220 of file LaserAlignment.h.
Referenced by ApplyATMaskingCorrections(), ApplyEndcapMaskingCorrections(), beginJob(), CalculateNominalCoordinates(), endRunProduce(), fillDataProfiles(), fillPedestalProfiles(), isATBeam(), produce(), and testRoutine().
|
private |
Definition at line 216 of file LaserAlignment.h.
Referenced by CalculateNominalCoordinates(), and endRunProduce().
|
private |
Definition at line 205 of file LaserAlignment.h.
Referenced by beginJob(), endRunProduce(), and produce().
|
private |
config parameter
Definition at line 143 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
Definition at line 193 of file LaserAlignment.h.
Referenced by beginJob(), fillPedestalProfiles(), and produce().
|
private |
Definition at line 224 of file LaserAlignment.h.
Referenced by beginJob().
|
private |
Definition at line 213 of file LaserAlignment.h.
Referenced by beginJob(), and endRunProduce().
|
private |
Definition at line 190 of file LaserAlignment.h.
Referenced by fillDetectorId(), and produce().
|
private |
Definition at line 231 of file LaserAlignment.h.
Referenced by endRunProduce(), produce(), and ~LaserAlignment().
|
private |
Definition at line 233 of file LaserAlignment.h.
Referenced by endRunProduce().
|
private |
config switch
Definition at line 140 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
config parameter (histograms file compression level)
Definition at line 167 of file LaserAlignment.h.
Referenced by beginJob(), and LaserAlignment().
|
private |
Definition at line 161 of file LaserAlignment.h.
Referenced by fillDataProfiles().
|
private |
config switch
Definition at line 134 of file LaserAlignment.h.
Referenced by LaserAlignment(), and produce().
|
private |
Definition at line 233 of file LaserAlignment.h.
Referenced by endRunProduce().
|
private |
counter for the total number of events processed
Definition at line 131 of file LaserAlignment.h.
Referenced by endRunProduce(), and produce().
|
private |
Tree stuff.
Definition at line 223 of file LaserAlignment.h.
Referenced by beginJob(), and ~LaserAlignment().
|
private |
config parameter (histograms file output name)
Definition at line 170 of file LaserAlignment.h.
Referenced by beginJob(), and LaserAlignment().
|
private |
Definition at line 229 of file LaserAlignment.h.
Referenced by produce().
|
private |
Definition at line 184 of file LaserAlignment.h.
Referenced by endRunProduce().
|
private |
Definition at line 174 of file LaserAlignment.h.
Referenced by ApplyATMaskingCorrections(), endRunProduce(), and LaserAlignment().
|
private |
config parameters
Definition at line 173 of file LaserAlignment.h.
Referenced by ApplyEndcapMaskingCorrections(), endRunProduce(), and LaserAlignment().
|
private |
Definition at line 202 of file LaserAlignment.h.
Referenced by beginJob(), and produce().
|
private |
config switch
Definition at line 164 of file LaserAlignment.h.
Referenced by beginJob(), LaserAlignment(), and ~LaserAlignment().
|
private |
config switch
Definition at line 177 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
config switch
Definition at line 158 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
Definition at line 228 of file LaserAlignment.h.
Referenced by endRunProduce(), produce(), and testRoutine().
|
private |
config switch
Definition at line 137 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
config switch
Definition at line 152 of file LaserAlignment.h.
Referenced by endRunProduce(), LaserAlignment(), and produce().