EcalTiming
 All Classes Functions Variables Pages
Private Member Functions | Private Attributes | List of all members
EcalTimingCalibProducer Class Reference

Plugin that derives the calibration constants. More...

#include <EcalTiming/EcalTiming/plugins/EcalTimingCalibProducer.h>

Inheritance diagram for EcalTimingCalibProducer:
Inheritance graph
Collaboration diagram for EcalTimingCalibProducer:
Collaboration graph

Private Member Functions

void FillCalibrationCorrectionHists (EcalTimeCalibrationMap::const_iterator cal_itr)
 fill histograms with the measured shifts (that will become -corrections for the next step)
 
bool addRecHit (const EcalTimingEvent &recHit, EventTimeMap &eventTimeMap_)
 If recHit passes the selection it is added to the list of recHits to be used for calibration. More...
 
void plotRecHit (const EcalTimingEvent &recHit)
 Adds the recHit to the per Event histograms. More...
 
EcalTimingEvent correctGlobalOffset (const EcalTimingEvent &ev, int splashDir, float bunchCorr)
 

Private Attributes

EcalTimeCalibrationMap _timeCalibMap
 calibration map: contains the time shift for each crystal
 
EventTimeMap _eventTimeMap
 container of recHits passing selection in the event (reset at each event)
 
EcalHWCalibrationMap _HWCalibrationMap
 calibration map for the CCU's (Hardware Constants). More...
 
EcalCrystalTimingCalibration timeEEP
 global time calibration of EE+
 
EcalCrystalTimingCalibration timeEEM
 global time calibration of EE-
 
EcalCrystalTimingCalibration timeEB
 global time calibration of EB
 
EcalCrystalTimingCalibration timeEBRing
 global time calibration of one EB ring
 
EcalCrystalTimingCalibration timeEEmRing
 global time calibration of one EE- ring
 
EcalCrystalTimingCalibration timeEEpRing
 global time calibration of one EE+ ring
 
EcalCrystalTimingCalibration timeEBCRYex
 global time calibration of one EB channel
 
EcalCrystalTimingCalibration timeEECRYex
 global time calibration of one EE channel
 
EcalTimeCalibConstants _timeCalibConstants
 container of calibrations updated iter by iter
 
TProfile2D * EneMapEEM_
 Using TProfile2D so we don't paint empty bins.
 
Input Parameters

Parameters defined in the config file _cfi,py

bool _isSplash
 flag to activate for splash analysis
 
bool _makeEventPlots
 flag for making plots for each event (meant for splashes)
 
edm::EDGetTokenT
< EcalTimingCollection > 
_timingEvents
 input collection
 
unsigned int _recHitMin
 require at least this many rec hits to count the event
 
double _minRecHitEnergyStep
 to check step size to check energy stability
 
double _minRecHitEnergyNStep
 number of steps to check energy stability
 
double _energyThresholdOffsetEB
 energy to add to the minimum energy thresholc
 
double _energyThresholdOffsetEE
 energy to add to the minimum energy thresholc
 
unsigned int _minEntries
 require a minimum number of entries in a ring to do averages
 
float _globalOffset
 time to subtract from every event
 
bool _storeEvents
 
bool _produceNewCalib
 true if you don't want to use the values in DB and what to extract new absolute calibrations, if false iteration does not work
 
std::string _outputDumpFileName
 name of the output file for the calibration constants' dump
 
float _maxSkewnessForDump
 

Detailed Description

This plugin runs over the events, selects the recHits according to the criteria defined in addRecHit

Todo:
Exit condition based on convergence

Member Function Documentation

bool EcalTimingCalibProducer::addRecHit ( const EcalTimingEvent recHit,
EventTimeMap &  eventTimeMap_ 
)
private

The recHit is used (accepted) if:

  • recHit flag in the list of _recHitFlags defined in the config file
  • recHit energy in EB > _minRecHitEnergy defined in the config file
  • recHit energy in EE is x2 the threshold of EB
  • at each iteration the recHit threshold is raised by _minRecHitEnergyStep If the recHit is used, the time information is added to _eventTimeMap

References _eventTimeMap, and EcalTimingEvent::energy().

Here is the call graph for this function:

EcalTimingEvent EcalTimingCalibProducer::correctGlobalOffset ( const EcalTimingEvent te,
int  splashDir,
float  bunchCorr 
)
private

Returns an EcalTimingEvent with a new time, which has been adjusted so that the upstream endcap is 0.

Parameters
[in]teEcalTimingEvent
[in]splashDirinteger indicating the beam direction in splash events
[in]bunchCorrfloat correction for global event timing
[out]ccorrected timing event

References _globalOffset, EcalTimingEvent::energy(), and EcalTimingEvent::time().

Here is the call graph for this function:

void EcalTimingCalibProducer::plotRecHit ( const EcalTimingEvent timeEvent)
private

fills the energy map and timing maps for EB, EE+ and EE-

References EcalTimingEvent::energy(), and EcalTimingEvent::time().

Here is the call graph for this function:

Member Data Documentation

EcalHWCalibrationMap EcalTimingCalibProducer::_HWCalibrationMap
private

The keys for this map are EcalElectronicIds with xtalid = stripid = 1


The documentation for this class was generated from the following files: