CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
SiStripLorentzAngleCalibration Class Reference
Inheritance diagram for SiStripLorentzAngleCalibration:
IntegratedCalibrationBase

Public Member Functions

virtual void beginOfJob (AlignableTracker *tracker, AlignableMuon *muon, AlignableExtras *extras) override
 
virtual unsigned int derivatives (std::vector< ValuesIndexPair > &outDerivInds, const TransientTrackingRecHit &hit, const TrajectoryStateOnSurface &tsos, const edm::EventSetup &setup, const EventInfo &eventInfo) const override
 
virtual void endOfJob () override
 
virtual double getParameter (unsigned int index) const override
 
virtual double getParameterError (unsigned int index) const override
 
virtual unsigned int numParameters () const override
 How many parameters does this calibration define? More...
 
virtual bool setParameter (unsigned int index, double value) override
 
virtual bool setParameterError (unsigned int index, double error) override
 
 SiStripLorentzAngleCalibration (const edm::ParameterSet &cfg)
 Constructor. More...
 
virtual ~SiStripLorentzAngleCalibration ()
 Destructor. More...
 
- Public Member Functions inherited from IntegratedCalibrationBase
virtual std::vector< Valuesderivatives (const TrackingRecHit &hit, const TrajectoryStateOnSurface &tsos, const edm::EventSetup &setup, const EventInfo &eventInfo) const
 
virtual unsigned int derivatives (std::vector< ValuesIndexPair > &outDerivInds, const TrackingRecHit &hit, const TrajectoryStateOnSurface &tsos, const edm::EventSetup &setup, const EventInfo &eventInfo) const =0
 
virtual void endOfLoop ()
 
 IntegratedCalibrationBase (const edm::ParameterSet &cfg)
 Values and their parameter index. More...
 
const std::string & name () const
 name of this calibration More...
 
virtual void startNewLoop ()
 
virtual ~IntegratedCalibrationBase ()
 Destructor. More...
 

Private Member Functions

bool checkLorentzAngleInput (const edm::EventSetup &setup, const EventInfo &eventInfo)
 
SiStripLorentzAnglecreateFromTree (const char *fileName, const char *treeName) const
 
double effectiveThickness (const GeomDet *det, int16_t mode, const edm::EventSetup &setup) const
 in non-peak mode the effective thickness is reduced... More...
 
const SiStripLorentzAnglegetLorentzAnglesInput ()
 
double getParameterForDetId (unsigned int detId, edm::RunNumber_t run) const
 
void writeTree (const SiStripLorentzAngle *lorentzAngle, const std::map< unsigned int, TreeStruct > &treeInfo, const char *treeName) const
 

Private Attributes

const std::vector< std::string > mergeFileNames_
 
const edm::ParameterSet moduleGroupSelCfg_
 
TkModuleGroupSelectormoduleGroupSelector_
 
const std::string outFileName_
 
std::vector< double > parameters_
 
std::vector< double > paramUncertainties_
 
int16_t readoutMode_
 
const std::string readoutModeName_
 
const std::string recordNameDBwrite_
 
const bool saveToDB_
 
SiStripLorentzAnglesiStripLorentzAngleInput_
 
edm::ESWatcher
< SiStripLorentzAngleRcd
watchLorentzAngleRcd_
 

Additional Inherited Members

- Public Types inherited from IntegratedCalibrationBase
typedef
AlignmentAlgorithmBase::EventInfo 
EventInfo
 
typedef std::pair< double, double > Values
 
typedef std::pair< Values,
unsigned int > 
ValuesIndexPair
 x- and y-values More...
 

Detailed Description

Calibration of Lorentz angle for the strip tracker, integrated in the alignment algorithms. Note that not all algorithms support this...

Use one instance for peak and/or one instance for deco mode data.

Author
: Gero Flucke date : August 2012
Revision:
1.6.2.14
Date:
2013/05/31 08:37:12

(last update by

Author:
flucke

)

Definition at line 53 of file SiStripLorentzAngleCalibration.cc.

Constructor & Destructor Documentation

SiStripLorentzAngleCalibration::SiStripLorentzAngleCalibration ( const edm::ParameterSet cfg)
explicit

Constructor.

Definition at line 148 of file SiStripLorentzAngleCalibration.cc.

SiStripLorentzAngleCalibration::~SiStripLorentzAngleCalibration ( )
virtual

Destructor.

Definition at line 176 of file SiStripLorentzAngleCalibration.cc.

Member Function Documentation

void SiStripLorentzAngleCalibration::beginOfJob ( AlignableTracker tracker,
AlignableMuon muon,
AlignableExtras extras 
)
overridevirtual

Call at beginning of job: default implementation is dummy, to be overwritten in derived class if useful.

Reimplemented from IntegratedCalibrationBase.

Definition at line 282 of file SiStripLorentzAngleCalibration.cc.

bool SiStripLorentzAngleCalibration::checkLorentzAngleInput ( const edm::EventSetup setup,
const EventInfo eventInfo 
)
private

If called the first time, fill 'siStripLorentzAngleInput_', later check that LorentzAngle has not changed.

Definition at line 382 of file SiStripLorentzAngleCalibration.cc.

SiStripLorentzAngle * SiStripLorentzAngleCalibration::createFromTree ( const char *  fileName,
const char *  treeName 
) const
private

Definition at line 524 of file SiStripLorentzAngleCalibration.cc.

unsigned int SiStripLorentzAngleCalibration::derivatives ( std::vector< ValuesIndexPair > &  outDerivInds,
const TransientTrackingRecHit hit,
const TrajectoryStateOnSurface tsos,
const edm::EventSetup setup,
const EventInfo eventInfo 
) const
overridevirtual

Return non-zero derivatives for x- and y-measurements with their indices by reference. Return value is their number.

Definition at line 191 of file SiStripLorentzAngleCalibration.cc.

double SiStripLorentzAngleCalibration::effectiveThickness ( const GeomDet det,
int16_t  mode,
const edm::EventSetup setup 
) const
private

in non-peak mode the effective thickness is reduced...

Definition at line 412 of file SiStripLorentzAngleCalibration.cc.

void SiStripLorentzAngleCalibration::endOfJob ( )
overridevirtual

Called at end of a the job of the AlignmentProducer. Write out determined parameters.

Implements IntegratedCalibrationBase.

Definition at line 309 of file SiStripLorentzAngleCalibration.cc.

const SiStripLorentzAngle * SiStripLorentzAngleCalibration::getLorentzAnglesInput ( )
private

Input LorentzAngle values:

  • either from EventSetup of first call to derivatives(..)
  • or created from files of passed by configuration (i.e. from parallel processing)

Definition at line 431 of file SiStripLorentzAngleCalibration.cc.

double SiStripLorentzAngleCalibration::getParameter ( unsigned int  index) const
overridevirtual

Return current value of parameter identified by index. Returns 0. if index out-of-bounds.

Implements IntegratedCalibrationBase.

Definition at line 270 of file SiStripLorentzAngleCalibration.cc.

double SiStripLorentzAngleCalibration::getParameterError ( unsigned int  index) const
overridevirtual

Return current value of parameter identified by index. Returns 0. if index out-of-bounds or if errors undetermined.

Implements IntegratedCalibrationBase.

Definition at line 276 of file SiStripLorentzAngleCalibration.cc.

double SiStripLorentzAngleCalibration::getParameterForDetId ( unsigned int  detId,
edm::RunNumber_t  run 
) const
private

Determined parameter value for this detId (detId not treated => 0.) and the given run.

Definition at line 472 of file SiStripLorentzAngleCalibration.cc.

unsigned int SiStripLorentzAngleCalibration::numParameters ( ) const
overridevirtual

How many parameters does this calibration define?

Implements IntegratedCalibrationBase.

Definition at line 184 of file SiStripLorentzAngleCalibration.cc.

bool SiStripLorentzAngleCalibration::setParameter ( unsigned int  index,
double  value 
)
overridevirtual

Setting the determined parameter identified by index, returns false if out-of-bounds, true otherwise.

Implements IntegratedCalibrationBase.

Definition at line 248 of file SiStripLorentzAngleCalibration.cc.

Referenced by editorTools.UserCodeTool::__call__(), metTools.AddMETCollection::__call__(), and editorTools.ChangeSource::__call__().

bool SiStripLorentzAngleCalibration::setParameterError ( unsigned int  index,
double  error 
)
overridevirtual

Setting the determined parameter uncertainty identified by index, returns false if out-of-bounds, true otherwise.

Implements IntegratedCalibrationBase.

Definition at line 259 of file SiStripLorentzAngleCalibration.cc.

void SiStripLorentzAngleCalibration::writeTree ( const SiStripLorentzAngle lorentzAngle,
const std::map< unsigned int, TreeStruct > &  treeInfo,
const char *  treeName 
) const
private

Definition at line 481 of file SiStripLorentzAngleCalibration.cc.

Member Data Documentation

const std::vector<std::string> SiStripLorentzAngleCalibration::mergeFileNames_
private

Definition at line 131 of file SiStripLorentzAngleCalibration.cc.

const edm::ParameterSet SiStripLorentzAngleCalibration::moduleGroupSelCfg_
private

Definition at line 141 of file SiStripLorentzAngleCalibration.cc.

TkModuleGroupSelector* SiStripLorentzAngleCalibration::moduleGroupSelector_
private

Definition at line 140 of file SiStripLorentzAngleCalibration.cc.

const std::string SiStripLorentzAngleCalibration::outFileName_
private

Definition at line 130 of file SiStripLorentzAngleCalibration.cc.

std::vector<double> SiStripLorentzAngleCalibration::parameters_
private

Definition at line 137 of file SiStripLorentzAngleCalibration.cc.

std::vector<double> SiStripLorentzAngleCalibration::paramUncertainties_
private

Definition at line 138 of file SiStripLorentzAngleCalibration.cc.

int16_t SiStripLorentzAngleCalibration::readoutMode_
private

Definition at line 127 of file SiStripLorentzAngleCalibration.cc.

const std::string SiStripLorentzAngleCalibration::readoutModeName_
private

Definition at line 126 of file SiStripLorentzAngleCalibration.cc.

const std::string SiStripLorentzAngleCalibration::recordNameDBwrite_
private

Definition at line 129 of file SiStripLorentzAngleCalibration.cc.

const bool SiStripLorentzAngleCalibration::saveToDB_
private

Definition at line 128 of file SiStripLorentzAngleCalibration.cc.

SiStripLorentzAngle* SiStripLorentzAngleCalibration::siStripLorentzAngleInput_
private

Definition at line 135 of file SiStripLorentzAngleCalibration.cc.

edm::ESWatcher<SiStripLorentzAngleRcd> SiStripLorentzAngleCalibration::watchLorentzAngleRcd_
private

Definition at line 133 of file SiStripLorentzAngleCalibration.cc.