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 Attributes
pftools::SpaceManager Class Reference

A tool to associate SpaceVoxels with Calibrator objects. More...

#include <SpaceManager.h>

Public Member Functions

void addEvolution (const DetectorElementPtr &det, Region region, const TF1 &f)
 
void assignCalibration (const CalibratorPtr &c, const std::map< DetectorElementPtr, double > &result)
 
void clear ()
 
CalibratorPtr createCalibrator (const Calibrator &toClone, SpaceVoxelPtr s)
 
void createCalibrators (const Calibrator &toClone, const double etaSeg, const double phiSeg, const double energySeg)
 
void createCalibrators (const Calibrator &toClone, const unsigned nEta, const double etaMin, const double etaMax, const unsigned nPhi, const double phiMin, const double phiMax, const unsigned nEnergy, const double energyMin, const double energyMax) throw (PFToolsException&)
 
void createCalibrators (const Calibrator &toClone)
 
double evolveCoefficient (DetectorElementPtr det, double energy, double eta, double phi)
 
TH1 * extractEvolution (DetectorElementPtr det, Region region, TF1 &f1, bool useTruth=true)
 
CalibratorPtr findCalibrator (const double eta, const double phi, const double energy=0) const
 
std::map< DetectorElementPtr,
double > 
getCalibration (CalibratorPtr c)
 
std::map< SpaceVoxelPtr,
CalibratorPtr > * 
getCalibrators ()
 
std::string getName ()
 
int getNCalibrations ()
 
double interpolateCoefficient (DetectorElementPtr det, double energy, double eta, double phi)
 
void makeInverseAddressBook ()
 
std::ostream & printCalibrations (std::ostream &stream)
 
void setBarrelLimit (double limit)
 
 SpaceManager (std::string name)
 
virtual ~SpaceManager ()
 

Private Attributes

double barrelLimit_
 
std::map< DetectorElementPtr, TF1 > barrelPosEvolutions_
 
std::vector< SpaceVoxelPtrbarrelPosRegion_
 
std::map< CalibratorPtr,
std::map< DetectorElementPtr,
double > > 
calibrationCoeffs_
 
double endcapLimit_
 
std::map< DetectorElementPtr, TF1 > endcapPosEvolutions_
 
std::vector< SpaceVoxelPtrendcapPosRegion_
 
std::map< CalibratorPtr,
SpaceVoxelPtr
inverseAddressBook_
 
std::map< SpaceVoxelPtr,
CalibratorPtr
myAddressBook
 
std::vector< SpaceVoxelPtrmyKnownSpaceVoxels
 
std::string name_
 
std::map< Region, std::vector
< SpaceVoxelPtr > > 
regionsToSVs_
 
double transitionLimit_
 
std::vector< SpaceVoxelPtrtransitionPosRegion_
 

Detailed Description

A tool to associate SpaceVoxels with Calibrator objects.

Author
Jamie Ballin
Date
April 2008

Definition at line 23 of file SpaceManager.h.

Constructor & Destructor Documentation

SpaceManager::SpaceManager ( std::string  name)

Definition at line 12 of file SpaceManager.cc.

SpaceManager::~SpaceManager ( )
virtual

Definition at line 18 of file SpaceManager.cc.

Member Function Documentation

void pftools::SpaceManager::addEvolution ( const DetectorElementPtr det,
Region  region,
const TF1 &  f 
)
inline

Definition at line 79 of file SpaceManager.h.

References pftools::BARREL_POS, barrelPosEvolutions_, pftools::ENDCAP_POS, endcapPosEvolutions_, and f.

79  {
80  if(region == BARREL_POS)
81  barrelPosEvolutions_[det] = f;
82  if(region == ENDCAP_POS)
83  endcapPosEvolutions_[det] = f;
84  }
std::map< DetectorElementPtr, TF1 > barrelPosEvolutions_
Definition: SpaceManager.h:118
double f[11][100]
std::map< DetectorElementPtr, TF1 > endcapPosEvolutions_
Definition: SpaceManager.h:119
void SpaceManager::assignCalibration ( const CalibratorPtr c,
const std::map< DetectorElementPtr, double > &  result 
)

Definition at line 246 of file SpaceManager.cc.

void SpaceManager::clear ( void  )

Definition at line 22 of file SpaceManager.cc.

CalibratorPtr SpaceManager::createCalibrator ( const Calibrator toClone,
SpaceVoxelPtr  s 
)

Definition at line 213 of file SpaceManager.cc.

void SpaceManager::createCalibrators ( const Calibrator toClone,
const double  etaSeg,
const double  phiSeg,
const double  energySeg 
)

Definition at line 30 of file SpaceManager.cc.

void SpaceManager::createCalibrators ( const Calibrator toClone,
const unsigned  nEta,
const double  etaMin,
const double  etaMax,
const unsigned  nPhi,
const double  phiMin,
const double  phiMax,
const unsigned  nEnergy,
const double  energyMin,
const double  energyMax 
)
throw (PFToolsException &
)

Definition at line 168 of file SpaceManager.cc.

void SpaceManager::createCalibrators ( const Calibrator toClone)

Definition at line 39 of file SpaceManager.cc.

double SpaceManager::evolveCoefficient ( DetectorElementPtr  det,
double  energy,
double  eta,
double  phi 
)

Definition at line 320 of file SpaceManager.cc.

TH1 * SpaceManager::extractEvolution ( DetectorElementPtr  det,
Region  region,
TF1 &  f1,
bool  useTruth = true 
)

Definition at line 256 of file SpaceManager.cc.

CalibratorPtr SpaceManager::findCalibrator ( const double  eta,
const double  phi,
const double  energy = 0 
) const

Definition at line 229 of file SpaceManager.cc.

std::map< DetectorElementPtr, double > SpaceManager::getCalibration ( CalibratorPtr  c)

Definition at line 252 of file SpaceManager.cc.

std::map<SpaceVoxelPtr, CalibratorPtr>* pftools::SpaceManager::getCalibrators ( )
inline

Definition at line 52 of file SpaceManager.h.

References myAddressBook.

52  {
53  std::map<SpaceVoxelPtr, CalibratorPtr>* ptr = &myAddressBook;
54  return ptr;
55  }
std::map< SpaceVoxelPtr, CalibratorPtr > myAddressBook
Definition: SpaceManager.h:109
std::string pftools::SpaceManager::getName ( void  )
inline

Definition at line 29 of file SpaceManager.h.

References name_.

29  {
30  return name_;
31  }
int pftools::SpaceManager::getNCalibrations ( )
inline

Definition at line 90 of file SpaceManager.h.

References calibrationCoeffs_.

90  {
91  return calibrationCoeffs_.size();
92  }
std::map< CalibratorPtr, std::map< DetectorElementPtr, double > > calibrationCoeffs_
Definition: SpaceManager.h:111
double SpaceManager::interpolateCoefficient ( DetectorElementPtr  det,
double  energy,
double  eta,
double  phi 
)

Definition at line 330 of file SpaceManager.cc.

void SpaceManager::makeInverseAddressBook ( )

Definition at line 393 of file SpaceManager.cc.

std::ostream & SpaceManager::printCalibrations ( std::ostream &  stream)

Definition at line 368 of file SpaceManager.cc.

void pftools::SpaceManager::setBarrelLimit ( double  limit)
inline

Definition at line 97 of file SpaceManager.h.

References barrelLimit_, and MessageLogger_cff::limit.

97  {
99  }

Member Data Documentation

double pftools::SpaceManager::barrelLimit_
private

Definition at line 105 of file SpaceManager.h.

Referenced by setBarrelLimit().

std::map<DetectorElementPtr, TF1> pftools::SpaceManager::barrelPosEvolutions_
private

Definition at line 118 of file SpaceManager.h.

Referenced by addEvolution().

std::vector<SpaceVoxelPtr> pftools::SpaceManager::barrelPosRegion_
private

Definition at line 114 of file SpaceManager.h.

std::map<CalibratorPtr, std::map<DetectorElementPtr, double> > pftools::SpaceManager::calibrationCoeffs_
private

Definition at line 111 of file SpaceManager.h.

Referenced by getNCalibrations().

double pftools::SpaceManager::endcapLimit_
private

Definition at line 107 of file SpaceManager.h.

std::map<DetectorElementPtr, TF1> pftools::SpaceManager::endcapPosEvolutions_
private

Definition at line 119 of file SpaceManager.h.

Referenced by addEvolution().

std::vector<SpaceVoxelPtr> pftools::SpaceManager::endcapPosRegion_
private

Definition at line 116 of file SpaceManager.h.

std::map<CalibratorPtr, SpaceVoxelPtr> pftools::SpaceManager::inverseAddressBook_
private

Definition at line 110 of file SpaceManager.h.

std::map<SpaceVoxelPtr, CalibratorPtr> pftools::SpaceManager::myAddressBook
private

Definition at line 109 of file SpaceManager.h.

Referenced by getCalibrators().

std::vector<SpaceVoxelPtr> pftools::SpaceManager::myKnownSpaceVoxels
private

Definition at line 112 of file SpaceManager.h.

std::string pftools::SpaceManager::name_
private

Definition at line 103 of file SpaceManager.h.

Referenced by getName().

std::map<Region, std::vector<SpaceVoxelPtr> > pftools::SpaceManager::regionsToSVs_
private

Definition at line 121 of file SpaceManager.h.

double pftools::SpaceManager::transitionLimit_
private

Definition at line 106 of file SpaceManager.h.

std::vector<SpaceVoxelPtr> pftools::SpaceManager::transitionPosRegion_
private

Definition at line 115 of file SpaceManager.h.