#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::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 83 of file LaserAlignment.h.
|
explicit |
Definition at line 19 of file LaserAlignment.cc.
References egammaCTFFinalFitWithMaterial_cff::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 111 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 1644 of file LaserAlignment.cc.
References 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 1600 of file LaserAlignment.cc.
References 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 126 of file LaserAlignment.cc.
References 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 1359 of file LaserAlignment.cc.
References 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 1446 of file LaserAlignment.cc.
References angle(), Exception, and M_PI.
Referenced by endRunProduce().
|
private |
for debugging only, will disappear
Definition at line 1540 of file LaserAlignment.cc.
References gather_cfg::cout, and LASGlobalData< T >::GetTECEntry().
Referenced by endRunProduce().
|
private |
for debugging only, will disappear
debug only, will disappear
Definition at line 1464 of file LaserAlignment.cc.
References 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 1500 of file LaserAlignment.cc.
References gather_cfg::cout, heppy_loop::loop, relativeConstraints::ring, LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), and LASGlobalLoop::TIBTOBLoop().
|
overridevirtual |
Reimplemented from edm::one::EDProducerBase.
Definition at line 967 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 469 of file LaserAlignment.cc.
References AlignableTracker::alignmentErrors(), AlignableTracker::alignments(), ApplyATMaskingCorrections(), LASGeometryUpdater::ApplyBeamKinkCorrections(), ApplyEndcapMaskingCorrections(), PV3DBase< T, PVType, FrameType >::barePhi(), 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 978 of file LaserAlignment.cc.
References SiStripDigi::adc(), SiStripRawDigi::adc(), edm::DetSetVector< T >::begin(), currentDataProfiles, detectorId, CastorSimpleReconstructor_cfi::digiLabel, EcnaPython_AdcPeg12_S1_10_R170298_1_0_150_Dee0::digiProducer, SoftLeptonByDistance_cfi::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 8 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 1194 of file LaserAlignment.cc.
References 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 1339 of file LaserAlignment.cc.
References 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 1304 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 1275 of file LaserAlignment.cc.
References 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 1244 of file LaserAlignment.cc.
References gather_cfg::cout, LASGlobalData< T >::GetTECEntry(), isAcceptedProfile, LogDebug, and relativeConstraints::ring.
Referenced by produce().
|
overridevirtual |
Implements edm::one::EDProducerBase.
Definition at line 263 of file LaserAlignment.cc.
References 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 1713 of file LaserAlignment.cc.
References gather_cfg::cout, DEFINE_FWK_MODULE, detectorId, LASGlobalData< T >::GetTEC2TECEntry(), LASGlobalData< T >::GetTECEntry(), LASGlobalData< T >::GetTIBTOBEntry(), runTauDisplay::gp, TrackerGeometry::idToDet(), moduleLoop, TCMET_cfi::radius, relativeConstraints::ring, LASGlobalLoop::TEC2TECLoop(), LASGlobalLoop::TECLoop(), theTrackerGeometry, theZ, and LASGlobalLoop::TIBTOBLoop().
|
private |
Definition at line 209 of file LaserAlignment.h.
Referenced by beginJob(), endRunProduce(), and produce().
|
private |
data profiles for the current event
Definition at line 206 of file LaserAlignment.h.
Referenced by beginJob(), fillDataProfiles(), and produce().
|
private |
Definition at line 197 of file LaserAlignment.h.
Referenced by ApplyATMaskingCorrections(), ApplyEndcapMaskingCorrections(), endRunProduce(), fillDataProfiles(), fillDetectorId(), fillPedestalProfiles(), produce(), and testRoutine().
|
private |
|
private |
Definition at line 246 of file LaserAlignment.h.
Referenced by beginJob(), and produce().
|
private |
|
private |
Definition at line 219 of file LaserAlignment.h.
Referenced by beginJob(), isATBeam(), isTECBeam(), and produce().
|
private |
Definition at line 191 of file LaserAlignment.h.
Referenced by LaserAlignment(), and produce().
|
private |
config parameters for the LASProfileJudge
Definition at line 159 of file LaserAlignment.h.
Referenced by LaserAlignment().
|
private |
config switch
Definition at line 165 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
Definition at line 230 of file LaserAlignment.h.
Referenced by ApplyATMaskingCorrections(), ApplyEndcapMaskingCorrections(), beginJob(), CalculateNominalCoordinates(), endRunProduce(), fillDataProfiles(), fillPedestalProfiles(), isATBeam(), produce(), and testRoutine().
|
private |
Definition at line 226 of file LaserAlignment.h.
Referenced by CalculateNominalCoordinates(), and endRunProduce().
|
private |
Definition at line 215 of file LaserAlignment.h.
Referenced by beginJob(), endRunProduce(), and produce().
|
private |
config parameter
Definition at line 153 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
Definition at line 203 of file LaserAlignment.h.
Referenced by beginJob(), fillPedestalProfiles(), and produce().
|
private |
Definition at line 234 of file LaserAlignment.h.
Referenced by beginJob().
|
private |
Definition at line 223 of file LaserAlignment.h.
Referenced by beginJob(), and endRunProduce().
|
private |
Definition at line 200 of file LaserAlignment.h.
Referenced by fillDetectorId(), and produce().
|
private |
Definition at line 242 of file LaserAlignment.h.
Referenced by endRunProduce(), produce(), and ~LaserAlignment().
|
private |
Definition at line 244 of file LaserAlignment.h.
Referenced by endRunProduce().
|
private |
config switch
Definition at line 150 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
config parameter (histograms file compression level)
Definition at line 177 of file LaserAlignment.h.
Referenced by beginJob(), and LaserAlignment().
|
private |
Definition at line 171 of file LaserAlignment.h.
Referenced by fillDataProfiles().
|
private |
config switch
Definition at line 144 of file LaserAlignment.h.
Referenced by LaserAlignment(), and produce().
|
private |
Definition at line 244 of file LaserAlignment.h.
Referenced by endRunProduce().
|
private |
counter for the total number of events processed
Definition at line 141 of file LaserAlignment.h.
Referenced by endRunProduce(), and produce().
|
private |
Tree stuff.
Definition at line 233 of file LaserAlignment.h.
Referenced by beginJob(), and ~LaserAlignment().
|
private |
config parameter (histograms file output name)
Definition at line 180 of file LaserAlignment.h.
Referenced by beginJob(), and LaserAlignment().
|
private |
Definition at line 239 of file LaserAlignment.h.
Referenced by produce().
|
private |
Definition at line 194 of file LaserAlignment.h.
Referenced by endRunProduce().
|
private |
Definition at line 184 of file LaserAlignment.h.
Referenced by ApplyATMaskingCorrections(), endRunProduce(), and LaserAlignment().
|
private |
config parameters
Definition at line 183 of file LaserAlignment.h.
Referenced by ApplyEndcapMaskingCorrections(), endRunProduce(), and LaserAlignment().
|
private |
Definition at line 212 of file LaserAlignment.h.
Referenced by beginJob(), and produce().
|
private |
config switch
Definition at line 174 of file LaserAlignment.h.
Referenced by beginJob(), LaserAlignment(), and ~LaserAlignment().
|
private |
config switch
Definition at line 187 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
config switch
Definition at line 168 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
Definition at line 238 of file LaserAlignment.h.
Referenced by endRunProduce(), produce(), and testRoutine().
|
private |
config switch
Definition at line 147 of file LaserAlignment.h.
Referenced by endRunProduce(), and LaserAlignment().
|
private |
config switch
Definition at line 162 of file LaserAlignment.h.
Referenced by endRunProduce(), LaserAlignment(), and produce().