emcCalibrationDataHelper Class Reference
[Tower calibrationHelpersDatabases]

#include <emcCalibrationDataHelper.h>

List of all members.


Detailed Description

Helper class to give access to various calibration data.

This class is the key one to be used if you ever want to directly access (read) emcal calibration data (e.g. from the ROOT prompt).

gSystem->Load("libPgCalInstance.so");
gSystem->Load("libemcOMpg.so");
int runnumber = 80312;
emcCalibrationDataHelper cdh(runnumber); // this may take a little while...
emcCalFEM* gain_for_W0 = cdh.getCalibration(0,"Gains");
gain_for_W0->Print();

Definition at line 38 of file emcCalibrationDataHelper.h.

Public Member Functions

 emcCalibrationDataHelper (int runnumber, bool initall=true, emcManageable::EStorage source=emcManageable::kDB_Pg, const char *emcalparts="emcal")
 The initall flag = true is MANDATORY if you use Objy as a source problem.
 emcCalibrationDataHelper (int runnumber, const PHTimeStamp &ts, bool initall=true, emcManageable::EStorage source=emcManageable::kDB_Pg, const char *emcalparts="emcal")
 This is the recommended way of using it : if you already know both the runnumber and the timestamp, please provide both !
 ~emcCalibrationDataHelper ()
const emcCalFEMgetCalibration (int femAbsolutePosition, const std::string &whatKind)
 get calibration object for a given fem and a given flavour.
const emcCalFEMgetCalibrationFast (int femAbsolutePosition, const std::string &whatKind)
 same as above with no bound checking.
const emcCalibrationDatagetCalibrationData (const std::string &what, size_t number=0)
const emcCalFEMgetCalibration (int femAbsolutePosition, const char *whatKind)
const emcCalFEMgetCalibrationFast (int femAbsolutePosition, const char *whatKind)
 same as above with no bound checkind and collect from DB assumed to be done already.
const emcCalibrationDatagetCalibrationData (const char *what, size_t number=0)
float getEnergyCalibration (int towerid)
float getEnergyCalibrationFast (int towerid)
float getGainBaseLine (int isector, const char *what="value", const char *details="0:xmax:-3:-9:-15:0", bool reallySilent=false)
 Return the gain base line factor for a given sector.
const char * gainBaseLineCalculationDetails (int isector) const
int runNumber (void) const
PHTimeStamp timeStamp (void) const
emcFEMListfemlist () const
 The list of FEM that object has been configured to use.
void initGainBaseLine (int isector, const char *details)
emcManageable::EStorage source (const char *what)
emcManageable::EStorage source (const std::string &what)
bool setSource (const char *what, emcManageable::EStorage datasource)
bool setSource (const std::string &what, emcManageable::EStorage datasource)

Private Types

typedef std::map< std::string,
std::vector< emcCalFEM * > > 
TMAP
typedef std::map< std::string,
std::vector< emcCalFEM
* > >::iterator 
TMAPITER
typedef std::map< std::string,
std::vector< emcCalibrationData * > > 
TCMAP
typedef std::map< std::string,
std::vector< emcCalibrationData
* > >::iterator 
TCMAPITER
typedef std::map< int, BaseLineTBLMAP
typedef std::map< int, BaseLine
>::iterator 
TBLMAPITER

Private Member Functions

void ctor (int runnumber, const PHTimeStamp &ts, bool initall, emcManageable::EStorage source, const char *parts)
emcCalFEMcollect (int femAbsolutePosition, const std::string &whatKind)
emcCalibrationDatacollectCalibData (const std::string &what, size_t number)
void initAll (void)
void initECalAtT0 (bool normalizationON)
void patch (emcCalFEM &calfem, const std::string &how)
 emcCalibrationDataHelper (const emcCalibrationDataHelper &)
emcCalibrationDataHelperoperator= (const emcCalibrationDataHelper &)

Private Attributes

TMAP fData
TCMAP fCalibData
PHTimeStamp fTimeStamp
std::map< std::string, emcManageable::EStoragefSources
std::vector< FlavourfKnownFlavours
std::vector< float > fECalAtT0
emcFEMListfFemList
TBLMAP fGainBaseLine
std::map< int, std::string > fGainBaseLineCalculationDetails
bool fInitAll
int fRunNumber
int fMaxNumberOfFEMs

Classes

class  BaseLine
class  Flavour


Member Typedef Documentation

typedef std::map<int,BaseLine> emcCalibrationDataHelper::TBLMAP [private]
 

Definition at line 211 of file emcCalibrationDataHelper.h.

typedef std::map<int,BaseLine>::iterator emcCalibrationDataHelper::TBLMAPITER [private]
 

Definition at line 212 of file emcCalibrationDataHelper.h.

typedef std::map<std::string, std::vector<emcCalibrationData*> > emcCalibrationDataHelper::TCMAP [private]
 

Definition at line 161 of file emcCalibrationDataHelper.h.

typedef std::map<std::string, std::vector<emcCalibrationData*> >::iterator emcCalibrationDataHelper::TCMAPITER [private]
 

Definition at line 163 of file emcCalibrationDataHelper.h.

typedef std::map<std::string, std::vector<emcCalFEM*> > emcCalibrationDataHelper::TMAP [private]
 

Definition at line 159 of file emcCalibrationDataHelper.h.

typedef std::map<std::string, std::vector<emcCalFEM*> >::iterator emcCalibrationDataHelper::TMAPITER [private]
 

Definition at line 160 of file emcCalibrationDataHelper.h.


Constructor & Destructor Documentation

emcCalibrationDataHelper::emcCalibrationDataHelper int  runnumber,
bool  initall = true,
emcManageable::EStorage  source = emcManageable::kDB_Pg,
const char *  emcalparts = "emcal"
 

The initall flag = true is MANDATORY if you use Objy as a source problem.

Definition at line 29 of file emcCalibrationDataHelper.C.

References ctor(), emcDataManager::GetInstance(), emcTimeStamp::getTimeStamp(), emcDataManager::Read(), and emcManageable::SetSource().

emcCalibrationDataHelper::emcCalibrationDataHelper int  runnumber,
const PHTimeStamp &  ts,
bool  initall = true,
emcManageable::EStorage  source = emcManageable::kDB_Pg,
const char *  emcalparts = "emcal"
 

This is the recommended way of using it : if you already know both the runnumber and the timestamp, please provide both !

Definition at line 59 of file emcCalibrationDataHelper.C.

References ctor().

emcCalibrationDataHelper::~emcCalibrationDataHelper  ) 
 

Definition at line 132 of file emcCalibrationDataHelper.C.

References fData.

emcCalibrationDataHelper::emcCalibrationDataHelper const emcCalibrationDataHelper  )  [private]
 


Member Function Documentation

emcCalFEM* emcCalibrationDataHelper::collect int  femAbsolutePosition,
const std::string &  whatKind
[private]
 

emcCalibrationData * emcCalibrationDataHelper::collectCalibData const std::string &  what,
size_t  number
[private]
 

Definition at line 235 of file emcCalibrationDataHelper.C.

References fTimeStamp, emcDataManager::GetInstance(), emcDataManager::GetVerboseLevel(), emcCalibrationData::kIniCal, emcManageable::kNone, emcCalibrationData::kTofSectorOffset, emcManageable::SetSource(), and source().

void emcCalibrationDataHelper::ctor int  runnumber,
const PHTimeStamp &  ts,
bool  initall,
emcManageable::EStorage  source,
const char *  parts
[private]
 

Definition at line 70 of file emcCalibrationDataHelper.C.

References fFemList, fInitAll, fMaxNumberOfFEMs, fRunNumber, fTimeStamp, and emcFEMList::hasFEM().

Referenced by emcCalibrationDataHelper().

emcFEMList* emcCalibrationDataHelper::femlist  )  const [inline]
 

The list of FEM that object has been configured to use.

Definition at line 118 of file emcCalibrationDataHelper.h.

References fFemList.

Referenced by emcGainBaseLineCalculator::getBaseLine().

const char * emcCalibrationDataHelper::gainBaseLineCalculationDetails int  isector  )  const
 

Definition at line 527 of file emcCalibrationDataHelper.C.

References fGainBaseLineCalculationDetails.

Referenced by getGainBaseLine().

const emcCalFEM * emcCalibrationDataHelper::getCalibration int  femAbsolutePosition,
const char *  whatKind
 

Definition at line 315 of file emcCalibrationDataHelper.C.

References getCalibration().

const emcCalFEM* emcCalibrationDataHelper::getCalibration int  femAbsolutePosition,
const std::string &  whatKind
 

get calibration object for a given fem and a given flavour.

e.g. Gains, HLRatios, Pedestals5, LCTofs, WalkTofs, TacPeds.

Referenced by emcDCProcessorv3::calibrateEnergyPbGl(), emcDCProcessorv3::calibrateEnergyPbSc(), emcDCProcessorv3::calibrateTimePbGl(), emcDCProcessorv2::calibrateTimePbGl(), emcDCProcessorv3::calibrateTimePbSc(), emcDCProcessorv2::calibrateTimePbSc(), emcRawDataProcessorv3::chooseLowGainPbGl(), emcRawDataProcessorv2::chooseLowGainPbGl(), emcRawDataProcessorv3::chooseLowGainPbSc(), emcRawDataProcessorv2::chooseLowGainPbSc(), getCalibration(), initAll(), emcBadNormt::process(), and emcChannelEvolution::produce().

const emcCalibrationData * emcCalibrationDataHelper::getCalibrationData const char *  what,
size_t  number = 0
 

Definition at line 411 of file emcCalibrationDataHelper.C.

References getCalibrationData().

const emcCalibrationData * emcCalibrationDataHelper::getCalibrationData const std::string &  what,
size_t  number = 0
 

Definition at line 375 of file emcCalibrationDataHelper.C.

References fCalibData.

Referenced by getCalibrationData(), and initECalAtT0().

const emcCalFEM * emcCalibrationDataHelper::getCalibrationFast int  femAbsolutePosition,
const char *  whatKind
 

same as above with no bound checkind and collect from DB assumed to be done already.

Definition at line 418 of file emcCalibrationDataHelper.C.

References getCalibrationFast().

const emcCalFEM* emcCalibrationDataHelper::getCalibrationFast int  femAbsolutePosition,
const std::string &  whatKind
 

same as above with no bound checking.

It's also assumed that collect from DB has been done already.

Referenced by emcDCProcessorv2::calibrateEnergyPbGl(), emcDCProcessorv2::calibrateEnergyPbSc(), and getCalibrationFast().

float emcCalibrationDataHelper::getEnergyCalibration int  towerid  ) 
 

Definition at line 444 of file emcCalibrationDataHelper.C.

References fECalAtT0, and initECalAtT0().

float emcCalibrationDataHelper::getEnergyCalibrationFast int  towerid  ) 
 

Definition at line 464 of file emcCalibrationDataHelper.C.

References fECalAtT0.

float emcCalibrationDataHelper::getGainBaseLine int  isector,
const char *  what = "value",
const char *  details = "0:xmax:-3:-9:-15:0",
bool  reallySilent = false
 

Return the gain base line factor for a given sector.

Base line is defined as ... FIXME

Parameters:
isector sector number (0-7, online convention)
what can be value or error
details format is "trimmed percent:xmin|xmax:-n1:-n2..." where trimmed percent is an integer giving the trimming percentage to compute a trimmed mean. if xmin is there, the gain value used for mean computation is that of the beginning of the validity period. if x is there, the gain used is that of the beginning of the *run*. if xmax is there, gain used is that of the end of the validity period. if -n_i is there, this fem (referenced by its absolute position), will not be used in the computation of mean.
reallySilent suppress all screen outputs

Definition at line 471 of file emcCalibrationDataHelper.C.

References gainBaseLineCalculationDetails(), and initGainBaseLine().

Referenced by emcBadNormt::initGainBaseLine(), GainBaseLinePlayer::InitRun(), norm(), patch(), emcChannelEvolution::produce(), emcGainEvolution::run(), and trim().

void emcCalibrationDataHelper::initAll void   )  [private]
 

Definition at line 540 of file emcCalibrationDataHelper.C.

References fKnownFlavours, fTimeStamp, getCalibration(), and name.

void emcCalibrationDataHelper::initECalAtT0 bool  normalizationON  )  [private]
 

Definition at line 587 of file emcCalibrationDataHelper.C.

References EmcIndexer::EmcSectorId(), fECalAtT0, fFemList, fRunNumber, getCalibrationData(), emcCalibrationData::GetValue(), emcFEMList::hasSector(), and EmcIndexer::iPXiSiST().

Referenced by getEnergyCalibration().

void emcCalibrationDataHelper::initGainBaseLine int  isector,
const char *  details
 

Definition at line 632 of file emcCalibrationDataHelper.C.

References fGainBaseLine, fGainBaseLineCalculationDetails, and emcGainBaseLineCalculator::getBaseLine().

Referenced by getGainBaseLine().

emcCalibrationDataHelper& emcCalibrationDataHelper::operator= const emcCalibrationDataHelper  )  [private]
 

void emcCalibrationDataHelper::patch emcCalFEM calfem,
const std::string &  how
[private]
 

Definition at line 661 of file emcCalibrationDataHelper.C.

References emcCalFEM::AbsolutePosition(), emcTracedFEM::FirstItem(), emcTracedValue::GetConstant(), getGainBaseLine(), emcTracedValue::GetSlope(), emcTracedValue::GetX(), emcTracedValue::isConstant(), emcTracedFEM::NextItem(), EmcIndexer::PXSM144_iSiSM144(), emcTracedValue::Set(), and emcCalFEM::size().

int emcCalibrationDataHelper::runNumber void   )  const [inline]
 

Definition at line 113 of file emcCalibrationDataHelper.h.

References fRunNumber.

Referenced by emcDCProcessorv3::emcDCProcessorv3(), and emcGainBaseLineCalculator::getBaseLine().

bool emcCalibrationDataHelper::setSource const std::string &  what,
emcManageable::EStorage  datasource
 

bool emcCalibrationDataHelper::setSource const char *  what,
emcManageable::EStorage  datasource
[inline]
 

Definition at line 147 of file emcCalibrationDataHelper.h.

emcManageable::EStorage emcCalibrationDataHelper::source const std::string &  what  ) 
 

emcManageable::EStorage emcCalibrationDataHelper::source const char *  what  )  [inline]
 

Definition at line 142 of file emcCalibrationDataHelper.h.

Referenced by collectCalibData().

PHTimeStamp emcCalibrationDataHelper::timeStamp void   )  const [inline]
 

Definition at line 115 of file emcCalibrationDataHelper.h.

References fTimeStamp.

Referenced by norm().


Member Data Documentation

TCMAP emcCalibrationDataHelper::fCalibData [private]
 

Definition at line 166 of file emcCalibrationDataHelper.h.

Referenced by getCalibrationData().

TMAP emcCalibrationDataHelper::fData [private]
 

Definition at line 165 of file emcCalibrationDataHelper.h.

Referenced by ~emcCalibrationDataHelper().

std::vector<float> emcCalibrationDataHelper::fECalAtT0 [private]
 

Definition at line 189 of file emcCalibrationDataHelper.h.

Referenced by getEnergyCalibration(), getEnergyCalibrationFast(), and initECalAtT0().

emcFEMList* emcCalibrationDataHelper::fFemList [private]
 

Definition at line 191 of file emcCalibrationDataHelper.h.

Referenced by ctor(), femlist(), and initECalAtT0().

TBLMAP emcCalibrationDataHelper::fGainBaseLine [private]
 

Definition at line 214 of file emcCalibrationDataHelper.h.

Referenced by initGainBaseLine().

std::map<int,std::string> emcCalibrationDataHelper::fGainBaseLineCalculationDetails [private]
 

Definition at line 215 of file emcCalibrationDataHelper.h.

Referenced by gainBaseLineCalculationDetails(), and initGainBaseLine().

bool emcCalibrationDataHelper::fInitAll [private]
 

Definition at line 216 of file emcCalibrationDataHelper.h.

Referenced by ctor().

std::vector<Flavour> emcCalibrationDataHelper::fKnownFlavours [private]
 

Definition at line 188 of file emcCalibrationDataHelper.h.

Referenced by initAll().

int emcCalibrationDataHelper::fMaxNumberOfFEMs [private]
 

Definition at line 220 of file emcCalibrationDataHelper.h.

Referenced by ctor().

int emcCalibrationDataHelper::fRunNumber [private]
 

Definition at line 219 of file emcCalibrationDataHelper.h.

Referenced by ctor(), initECalAtT0(), and runNumber().

std::map<std::string,emcManageable::EStorage> emcCalibrationDataHelper::fSources [private]
 

Definition at line 168 of file emcCalibrationDataHelper.h.

PHTimeStamp emcCalibrationDataHelper::fTimeStamp [private]
 

Definition at line 167 of file emcCalibrationDataHelper.h.

Referenced by collectCalibData(), ctor(), initAll(), and timeStamp().


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