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
SiStripLorentzAngleGenerator Class Reference

#include <SiStripLorentzAngleGenerator.h>

Inheritance diagram for SiStripLorentzAngleGenerator:
SiStripDepCondObjBuilderBase< SiStripLorentzAngle, TrackerTopology >

Public Member Functions

void getObj (SiStripLorentzAngle *&obj, const TrackerTopology *tTopo)
 
 SiStripLorentzAngleGenerator (const edm::ParameterSet &, const edm::ActivityRegistry &)
 
 ~SiStripLorentzAngleGenerator ()
 
- Public Member Functions inherited from SiStripDepCondObjBuilderBase< SiStripLorentzAngle, TrackerTopology >
virtual bool checkForCompatibility (std::string ss)
 
virtual void getMetaDataString (std::stringstream &ss)
 
virtual void initialize ()
 
 SiStripDepCondObjBuilderBase (const edm::ParameterSet &pset)
 
virtual ~SiStripDepCondObjBuilderBase ()
 

Private Member Functions

SiStripLorentzAnglecreateObject (const TrackerTopology *tTopo)
 
void setHallMobility (const double &meanMin, const double &meanMax, const double &sigma, const bool uniform)
 
void setUniform (const std::vector< double > &TIB_EstimatedValuesMin, const std::vector< double > &TIB_EstimatedValuesMax, std::vector< bool > &uniformTIB)
 Method used to determine whether to generate with a uniform distribution for each layer. More...
 

Private Attributes

float hallMobility_
 

Additional Inherited Members

- Protected Attributes inherited from SiStripDepCondObjBuilderBase< SiStripLorentzAngle, TrackerTopology >
edm::ParameterSet _pset
 
SiStripLorentzAngleobj_
 

Detailed Description

Generator of the ideal/fake conditions for the LorentzAngle.
It receives input values with layer granularity and it is able to perform gaussian smearing or use a uniform distribution at the module level.
Depending on the parameters passed via cfg, it is able to generate the values per DetId with a gaussian distribution and a uniform distribution. When setting the sigma of the gaussian to 0 and passing a single value the generated values are fixed.
For TID and TEC the decision to generate with a uniform distribution comes from the setting for the first layers of TIB and TOB.

Definition at line 23 of file SiStripLorentzAngleGenerator.h.

Constructor & Destructor Documentation

SiStripLorentzAngleGenerator::SiStripLorentzAngleGenerator ( const edm::ParameterSet iConfig,
const edm::ActivityRegistry aReg 
)
explicit

Definition at line 20 of file SiStripLorentzAngleGenerator.cc.

SiStripLorentzAngleGenerator::~SiStripLorentzAngleGenerator ( )

Definition at line 27 of file SiStripLorentzAngleGenerator.cc.

Member Function Documentation

SiStripLorentzAngle * SiStripLorentzAngleGenerator::createObject ( const TrackerTopology tTopo)
private

Definition at line 48 of file SiStripLorentzAngleGenerator.cc.

Referenced by getObj().

void SiStripLorentzAngleGenerator::getObj ( SiStripLorentzAngle *&  obj,
const TrackerTopology depObj 
)
inlinevirtual

Returns the CondObj

Reimplemented from SiStripDepCondObjBuilderBase< SiStripLorentzAngle, TrackerTopology >.

Definition at line 29 of file SiStripLorentzAngleGenerator.h.

References createObject().

29 {obj=createObject(tTopo);}
SiStripLorentzAngle * createObject(const TrackerTopology *tTopo)
void SiStripLorentzAngleGenerator::setHallMobility ( const double &  meanMin,
const double &  meanMax,
const double &  sigma,
const bool  uniform 
)
private

This method fills the hallMobility_ variable with different values according to the parameters passed in the cfg.

  • If a min and max value were passed it takes the value from a uniform distribution.
  • If only a single value was passed and the error is set != 0 it takes the value from a gaussian distribution.
  • If the error is 0 and only one value is passed it takes the fixed min value.

Definition at line 31 of file SiStripLorentzAngleGenerator.cc.

void SiStripLorentzAngleGenerator::setUniform ( const std::vector< double > &  TIB_EstimatedValuesMin,
const std::vector< double > &  TIB_EstimatedValuesMax,
std::vector< bool > &  uniformTIB 
)
private

Method used to determine whether to generate with a uniform distribution for each layer.

Definition at line 37 of file SiStripLorentzAngleGenerator.cc.

Member Data Documentation

float SiStripLorentzAngleGenerator::hallMobility_
private

Definition at line 34 of file SiStripLorentzAngleGenerator.h.