#include <ApvAnalysisFactory.h>
Public Types | |
typedef std::map< uint32_t, ApvAnalysisVector > | ApvAnalysisMap |
typedef std::vector < ApvAnalysis * > | ApvAnalysisVector |
typedef std::map< ApvAnalysis *, uint32_t > | InverseMap |
typedef std::map< ApvAnalysis *, int > | MapNumberingPosition |
Public Member Functions | |
ApvAnalysisFactory (std::string theAlgorithmType, int theNumCMstripsInGroup, int theMaskCalcFlag, float theMaskNoiseCut, float theMaskDeadCut, float theMaskTruncCut, float theCutToAvoidSignal, int theEventInitNumber, int theEventIterNumber) | |
ApvAnalysisFactory (const edm::ParameterSet &pset) | |
ApvAnalysisVector | getApvAnalysis (const uint32_t nDET_ID) |
void | getCommonMode (uint32_t det_id, ApvAnalysis::PedestalType &tmp) |
std::vector< float > | getCommonMode (uint32_t det_id, int apvNumber) |
void | getCommonModeSlope (uint32_t det_id, ApvAnalysis::PedestalType &tmp) |
float | getCommonModeSlope (uint32_t det_id, int apvNumber) |
void | getMask (uint32_t det_id, TkApvMask::MaskType &tmp) |
void | getNoise (uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &noise) |
void | getNoise (uint32_t det_id, ApvAnalysis::PedestalType &noise) |
void | getPedestal (uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &peds) |
void | getPedestal (uint32_t det_id, ApvAnalysis::PedestalType &peds) |
void | getRawNoise (uint32_t det_id, ApvAnalysis::PedestalType &noise) |
void | getRawNoise (uint32_t det_id, int apvNumber, ApvAnalysis::PedestalType &noise) |
std::string | getStatus (uint32_t det_id) |
float | getStripNoise (uint32_t det_id, int stripNumber) |
float | getStripPedestal (uint32_t det_id, int stripNumber) |
float | getStripRawNoise (uint32_t det_id, int stripNumber) |
bool | instantiateApvs (uint32_t det_id, int numberOfApvs) |
bool | isUpdating (uint32_t detId) |
void | update (uint32_t det_id, const edm::DetSet< SiStripRawDigi > &in) |
void | updatePair (uint32_t det_id, size_t apvPair, const edm::DetSet< SiStripRawDigi > &in) |
~ApvAnalysisFactory () | |
Private Member Functions | |
void | constructAuxiliaryApvClasses (ApvAnalysis *theApv, uint32_t det_id, int thisApv) |
void | deleteApv (ApvAnalysis *apv) |
Private Attributes | |
ApvAnalysisMap | apvMap_ |
std::string | theAlgorithmType_ |
std::string | theCMType_ |
float | theCutToAvoidSignal_ |
int | theEventInitNumber_ |
int | theEventIterNumber_ |
int | theMaskCalcFlag_ |
float | theMaskDeadCut_ |
float | theMaskNoiseCut_ |
float | theMaskTruncCut_ |
int | theNumCMstripsInGroup_ |
bool | useDB_ |
Definition at line 25 of file ApvAnalysisFactory.h.
typedef std::map< uint32_t, ApvAnalysisVector> ApvAnalysisFactory::ApvAnalysisMap |
Definition at line 73 of file ApvAnalysisFactory.h.
typedef std::vector<ApvAnalysis *> ApvAnalysisFactory::ApvAnalysisVector |
Definition at line 28 of file ApvAnalysisFactory.h.
typedef std::map< ApvAnalysis *, uint32_t> ApvAnalysisFactory::InverseMap |
Definition at line 75 of file ApvAnalysisFactory.h.
typedef std::map< ApvAnalysis *,int > ApvAnalysisFactory::MapNumberingPosition |
Definition at line 74 of file ApvAnalysisFactory.h.
ApvAnalysisFactory::ApvAnalysisFactory | ( | std::string | theAlgorithmType, |
int | theNumCMstripsInGroup, | ||
int | theMaskCalcFlag, | ||
float | theMaskNoiseCut, | ||
float | theMaskDeadCut, | ||
float | theMaskTruncCut, | ||
float | theCutToAvoidSignal, | ||
int | theEventInitNumber, | ||
int | theEventIterNumber | ||
) |
ApvAnalysisFactory::ApvAnalysisFactory | ( | const edm::ParameterSet & | pset | ) |
Definition at line 26 of file ApvAnalysisFactory.cc.
References edm::ParameterSet::getParameter().
{ theCMType_ = pset.getParameter<string>("CMType"); useDB_ = pset.getParameter<bool>("useDB"); theAlgorithmType_ = pset.getParameter<string>("CalculatorAlgorithm"); theNumCMstripsInGroup_ = pset.getParameter<int>("NumCMstripsInGroup"); theMaskCalcFlag_ = pset.getParameter<int>("MaskCalculationFlag"); theMaskNoiseCut_ = pset.getParameter<double>("MaskNoiseCut"); theMaskDeadCut_ = pset.getParameter<double>("MaskDeadCut"); theMaskTruncCut_ = pset.getParameter<double>("MaskTruncationCut"); theCutToAvoidSignal_ = pset.getParameter<double>("CutToAvoidSignal"); theEventInitNumber_ = pset.getParameter<int>("NumberOfEventsForInit"); theEventIterNumber_ = pset.getParameter<int>("NumberOfEventsForIteration"); apvMap_.clear(); }
ApvAnalysisFactory::~ApvAnalysisFactory | ( | ) |
void ApvAnalysisFactory::constructAuxiliaryApvClasses | ( | ApvAnalysis * | theApv, |
uint32_t | det_id, | ||
int | thisApv | ||
) | [private] |
Definition at line 87 of file ApvAnalysisFactory.cc.
References gather_cfg::cout, TkCommonModeCalculator::setCM(), ApvAnalysis::setCommonModeCalculator(), ApvAnalysis::setMask(), ApvAnalysis::setNoiseCalculator(), ApvAnalysis::setPedestalCalculator(), and TkCommonMode::setTopology().
{ //---------------------------------------------------------------- // Create the ped/noise/CMN calculators, zero suppressors etc. // (Is called by addDetUnitAndConstructApvs()). // // N.B. Don't call this twice for the same APV! //----------------------------------------------------------------- // cout<<"VirtualApvAnalysisFactory::constructAuxiliaryApvClasses"<<endl; TkPedestalCalculator* thePedestal =0; TkNoiseCalculator* theNoise=0; TkApvMask* theMask=0; TkCommonModeCalculator* theCM=0; TkCommonMode* theCommonMode = new TkCommonMode(); TkCommonModeTopology* theTopology = new TkCommonModeTopology(128, theNumCMstripsInGroup_); theCommonMode->setTopology(theTopology); // Create desired algorithms. if( theAlgorithmType_ == "TT6") { theMask = new TT6ApvMask(theMaskCalcFlag_,theMaskNoiseCut_,theMaskDeadCut_,theMaskTruncCut_); theNoise = new TT6NoiseCalculator(theEventInitNumber_, theEventIterNumber_, theCutToAvoidSignal_); thePedestal = new TT6PedestalCalculator(theEventInitNumber_, theEventIterNumber_, theCutToAvoidSignal_); theCM = new TT6CommonModeCalculator (theNoise, theMask, theCutToAvoidSignal_); } else if( "TT6NT" == theAlgorithmType_) { theMask = new TT6ApvMask( theMaskCalcFlag_, theMaskNoiseCut_, theMaskDeadCut_, theMaskTruncCut_); theNoise = new TT6NoiseCalculator( theEventInitNumber_, theEventIterNumber_, theCutToAvoidSignal_); thePedestal = new TT6NTPedestalCalculator; theCM = new TT6CommonModeCalculator( theNoise, theMask, theCutToAvoidSignal_); } else if (theAlgorithmType_ == "MIX") { // the mask as to be defined also for SimplePedCalculator theMask = new TT6ApvMask(theMaskCalcFlag_,theMaskNoiseCut_,theMaskDeadCut_,theMaskTruncCut_); thePedestal = new SimplePedestalCalculator(theEventInitNumber_); theNoise = new SimpleNoiseCalculator(theEventInitNumber_, useDB_); if (theCMType_ == "Median"){ theCM = new MedianCommonModeCalculator (); } else { cout << "Sorry Only Median is available for now, Mean and FastLinear are coming soon" << endl; } } if(theCommonMode) theCM->setCM(theCommonMode); if(thePedestal) theAPV->setPedestalCalculator(*thePedestal); if(theNoise) theAPV->setNoiseCalculator(*theNoise); if(theMask) theAPV->setMask(*theMask); if(theCM) theAPV->setCommonModeCalculator(*theCM); }
void ApvAnalysisFactory::deleteApv | ( | ApvAnalysis * | apv | ) | [private] |
Definition at line 421 of file ApvAnalysisFactory.cc.
References TkCommonModeCalculator::commonMode(), ApvAnalysis::commonModeCalculator(), ApvAnalysis::mask(), ApvAnalysis::noiseCalculator(), ApvAnalysis::pedestalCalculator(), and TkCommonMode::topology().
{ delete &(apv->pedestalCalculator()); delete &(apv->noiseCalculator()); delete &(apv->mask()); delete &(apv->commonModeCalculator().commonMode()->topology()); delete (apv->commonModeCalculator().commonMode()); delete &(apv->commonModeCalculator()); delete apv; }
std::vector< ApvAnalysis * > ApvAnalysisFactory::getApvAnalysis | ( | const uint32_t | nDET_ID | ) |
Definition at line 80 of file ApvAnalysisFactory.cc.
Referenced by NoiseTask::book().
vector< float > ApvAnalysisFactory::getCommonMode | ( | uint32_t | det_id, |
int | apvNumber | ||
) |
Definition at line 356 of file ApvAnalysisFactory.cc.
References tmp.
{ vector<float> tmp; tmp.clear(); map<uint32_t, vector<ApvAnalysis* > >::const_iterator theApvs_map = apvMap_.find(detId); if(theApvs_map != apvMap_.end()) { vector<ApvAnalysis* > theApvs = theApvs_map->second; tmp = theApvs[apvNumber]->commonModeCalculator().commonMode()->returnAsVector(); } return tmp; }
void ApvAnalysisFactory::getCommonMode | ( | uint32_t | det_id, |
ApvAnalysis::PedestalType & | tmp | ||
) |
Definition at line 369 of file ApvAnalysisFactory.cc.
References i.
Referenced by SiStripMonitorPedestals::analyze(), and NoiseTask::update().
{ map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { vector<ApvAnalysis* > theApvs = apvAnalysisIt->second; for( unsigned int i=0; i< theApvs.size(); i++) { //To be fixed. We return only the first one in the vector. vector<float> tmp_cm = theApvs[i]->commonModeCalculator().commonMode()->returnAsVector(); for( unsigned int it = 0; it < tmp_cm.size(); it++) tmp.push_back( tmp_cm[it]); } } }
float ApvAnalysisFactory::getCommonModeSlope | ( | uint32_t | det_id, |
int | apvNumber | ||
) |
Definition at line 434 of file ApvAnalysisFactory.cc.
References tmp.
void ApvAnalysisFactory::getCommonModeSlope | ( | uint32_t | det_id, |
ApvAnalysis::PedestalType & | tmp | ||
) |
Definition at line 444 of file ApvAnalysisFactory.cc.
References i.
Referenced by SiStripMonitorPedestals::analyze().
{ tmp.clear(); map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { vector<ApvAnalysis* > theApvs = apvAnalysisIt->second; for( unsigned int i=0; i< theApvs.size(); i++) { tmp.push_back(theApvs[i]->commonModeCalculator().getCMSlope()); } } }
void ApvAnalysisFactory::getMask | ( | uint32_t | det_id, |
TkApvMask::MaskType & | tmp | ||
) |
Definition at line 386 of file ApvAnalysisFactory.cc.
References i.
Referenced by SiStripMonitorPedestals::analyze().
{ map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(det_id); if(apvAnalysisIt != apvMap_.end()) { vector<ApvAnalysis* > theApvs = apvAnalysisIt->second; for( unsigned int i=0; i< theApvs.size(); i++) { TkApvMask::MaskType theMaskType = ( theApvs[i]->mask()).mask(); //cout <<"theMaskType size "<<theMaskType.size()<<endl; for( unsigned int ii=0;ii<theMaskType.size();ii++) { tmp.push_back(theMaskType[ii]); //cout <<"The Value "<<theMaskType[ii]<<" "<<ii<<endl; } } } }
void ApvAnalysisFactory::getNoise | ( | uint32_t | det_id, |
int | apvNumber, | ||
ApvAnalysis::PedestalType & | noise | ||
) |
Definition at line 269 of file ApvAnalysisFactory.cc.
Referenced by SiStripMonitorPedestals::analyze(), and NoiseTask::update().
{ //Get the pedestal for a given apv noise.clear(); map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { vector<ApvAnalysis* > theApvs = apvAnalysisIt->second; noise = theApvs[apvNumber]->noiseCalculator().noise(); } }
void ApvAnalysisFactory::getNoise | ( | uint32_t | det_id, |
ApvAnalysis::PedestalType & | noise | ||
) |
Definition at line 294 of file ApvAnalysisFactory.cc.
References begin, end, and tmp.
{ //Get the pedestal for a given apv peds.clear(); map<uint32_t, vector<ApvAnalysis* > >::const_iterator theApvs_map = apvMap_.find(detId); if(theApvs_map != apvMap_.end()) { vector<ApvAnalysis*>::const_iterator theApvs = (theApvs_map->second).begin(); for(; theApvs != (theApvs_map->second).end();theApvs++) { ApvAnalysis::PedestalType tmp = (*theApvs)->noiseCalculator().noise(); for(ApvAnalysis::PedestalType::const_iterator pit =tmp.begin(); pit!=tmp.end(); pit++) peds.push_back(*pit); } } }
void ApvAnalysisFactory::getPedestal | ( | uint32_t | det_id, |
ApvAnalysis::PedestalType & | peds | ||
) |
Definition at line 242 of file ApvAnalysisFactory.cc.
References tmp.
{ //Get the pedestal for a given apv peds.clear(); map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { vector<ApvAnalysis* > theApvs = apvAnalysisIt->second; for(vector<ApvAnalysis*>::const_iterator it = theApvs.begin(); it != theApvs.end();it++) { ApvAnalysis::PedestalType tmp = (*it)->pedestalCalculator().pedestal(); for(ApvAnalysis::PedestalType::const_iterator pit =tmp.begin(); pit!=tmp.end(); pit++) peds.push_back(*pit); } } }
void ApvAnalysisFactory::getPedestal | ( | uint32_t | det_id, |
int | apvNumber, | ||
ApvAnalysis::PedestalType & | peds | ||
) |
Definition at line 229 of file ApvAnalysisFactory.cc.
Referenced by SiStripMonitorPedestals::analyze(), PedsOnlyTask::update(), and NoiseTask::update().
{ //Get the pedestal for a given apv peds.clear(); map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { vector<ApvAnalysis*> myApvs = apvAnalysisIt->second; peds = myApvs[apvNumber]->pedestalCalculator().pedestal(); } }
void ApvAnalysisFactory::getRawNoise | ( | uint32_t | det_id, |
ApvAnalysis::PedestalType & | noise | ||
) |
Definition at line 337 of file ApvAnalysisFactory.cc.
References begin, end, and tmp.
{ //Get the pedestal for a given apv peds.clear(); map<uint32_t, vector<ApvAnalysis* > >::const_iterator theApvs_map = apvMap_.find(detId); if(theApvs_map != apvMap_.end()) { vector<ApvAnalysis*>::const_iterator theApvs = (theApvs_map->second).begin(); for(; theApvs != (theApvs_map->second).end();theApvs++) { ApvAnalysis::PedestalType tmp = (*theApvs)->pedestalCalculator().rawNoise(); for(ApvAnalysis::PedestalType::const_iterator pit =tmp.begin(); pit!=tmp.end(); pit++) peds.push_back(*pit); } } }
void ApvAnalysisFactory::getRawNoise | ( | uint32_t | det_id, |
int | apvNumber, | ||
ApvAnalysis::PedestalType & | noise | ||
) |
Definition at line 312 of file ApvAnalysisFactory.cc.
Referenced by SiStripMonitorPedestals::analyze(), and PedsOnlyTask::update().
{ //Get the pedestal for a given apv noise.clear(); map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { vector<ApvAnalysis* > theApvs = apvAnalysisIt->second; noise = theApvs[apvNumber]->pedestalCalculator().rawNoise(); } }
std::string ApvAnalysisFactory::getStatus | ( | uint32_t | det_id | ) |
float ApvAnalysisFactory::getStripNoise | ( | uint32_t | det_id, |
int | stripNumber | ||
) |
Definition at line 282 of file ApvAnalysisFactory.cc.
References groupFilesInBlocks::temp.
{ //Get the pedestal for a given apv ApvAnalysis::PedestalType temp; int apvNumb = int(stripNumber / 128.); int stripN = (stripNumber - apvNumb*128); getNoise(detId, apvNumb, temp); return temp[stripN]; }
float ApvAnalysisFactory::getStripPedestal | ( | uint32_t | det_id, |
int | stripNumber | ||
) |
Definition at line 258 of file ApvAnalysisFactory.cc.
References groupFilesInBlocks::temp.
{ //Get the pedestal for a given apv ApvAnalysis::PedestalType temp; int apvNumb = int(stripNumber / 128.); int stripN = (stripNumber - apvNumb*128); getPedestal(detId, apvNumb, temp); return temp[stripN]; }
float ApvAnalysisFactory::getStripRawNoise | ( | uint32_t | det_id, |
int | stripNumber | ||
) |
Definition at line 325 of file ApvAnalysisFactory.cc.
References groupFilesInBlocks::temp.
{ //Get the pedestal for a given apv ApvAnalysis::PedestalType temp; int apvNumb = int(stripNumber / 128.); int stripN = (stripNumber - apvNumb*128); getRawNoise(detId, apvNumb, temp); return temp[stripN]; }
bool ApvAnalysisFactory::instantiateApvs | ( | uint32_t | det_id, |
int | numberOfApvs | ||
) |
Definition at line 60 of file ApvAnalysisFactory.cc.
References gather_cfg::cout, i, and groupFilesInBlocks::temp.
Referenced by PedsOnlyTask::book(), NoiseTask::book(), and SiStripMonitorPedestals::createMEs().
{ ApvAnalysisFactory::ApvAnalysisMap::iterator CPos = apvMap_.find(detId); if(CPos != apvMap_.end()) { cout << " APVs for Detector Id " << detId << " already created !!!" << endl;; return false; } vector< ApvAnalysis* > temp; for(int i=0;i<numberOfApvs;i++) { ApvAnalysis* apvTmp = new ApvAnalysis(theEventIterNumber_); // constructAuxiliaryApvClasses(apvTmp); constructAuxiliaryApvClasses(apvTmp,detId,i); temp.push_back(apvTmp); } apvMap_.insert(pair< uint32_t, vector< ApvAnalysis* > >(detId, temp)); return true; }
bool ApvAnalysisFactory::isUpdating | ( | uint32_t | detId | ) |
Definition at line 405 of file ApvAnalysisFactory.cc.
References end.
{ bool updating = true; map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { for(vector<ApvAnalysis*>::const_iterator apvIt = (apvAnalysisIt->second).begin(); apvIt != (apvAnalysisIt->second).end(); apvIt++) { if(!( (*apvIt)->pedestalCalculator().status()->isUpdating() )) updating = false; } } return updating; }
void ApvAnalysisFactory::update | ( | uint32_t | det_id, |
const edm::DetSet< SiStripRawDigi > & | in | ||
) |
Definition at line 199 of file ApvAnalysisFactory.cc.
References edm::DetSet< T >::data, end, and i.
Referenced by SiStripMonitorPedestals::analyze().
{ map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { size_t i=0; for(vector<ApvAnalysis*>::const_iterator apvIt = (apvAnalysisIt->second).begin(); apvIt != (apvAnalysisIt->second).end(); apvIt++) { edm::DetSet<SiStripRawDigi> tmpRawDigi; //it is missing the detId ... tmpRawDigi.data.reserve(128); size_t startStrip = 128*i; size_t stopStrip = startStrip + 128; for( size_t istrip = startStrip; istrip < stopStrip;istrip++) { if( in.data.size() <= istrip) tmpRawDigi.data.push_back(0); else tmpRawDigi.data.push_back(in.data[istrip]); //maybe dangerous } (*apvIt)->newEvent(); (*apvIt)->updateCalibration(tmpRawDigi); i++; } } }
void ApvAnalysisFactory::updatePair | ( | uint32_t | det_id, |
size_t | apvPair, | ||
const edm::DetSet< SiStripRawDigi > & | in | ||
) |
Definition at line 157 of file ApvAnalysisFactory.cc.
References edm::DetSet< T >::data, and end.
Referenced by PedsOnlyTask::fill(), and NoiseTask::fill().
{ map<uint32_t, vector<ApvAnalysis*> >::const_iterator apvAnalysisIt = apvMap_.find(detId); if(apvAnalysisIt != apvMap_.end()) { size_t iter=0; for(vector<ApvAnalysis*>::const_iterator apvIt = (apvAnalysisIt->second).begin(); apvIt != (apvAnalysisIt->second).end(); apvIt++) { if (iter==pairNumber*2 || iter==(2*pairNumber+1)){ // cout << "ApvAnalysisFactory::updatePair pair number " << pairNumber << endl; // cout << "ApvAnlysis will be updated for the apv # " << iter << endl; edm::DetSet<SiStripRawDigi> tmpRawDigi; tmpRawDigi.data.reserve(128); size_t startStrip = 128*(iter%2); size_t stopStrip = startStrip + 128; for( size_t istrip = startStrip; istrip < stopStrip;istrip++) { if(in.data.size() <= istrip) tmpRawDigi.data.push_back( 0); else tmpRawDigi.data.push_back(in.data[istrip]); //maybe dangerous } (*apvIt)->newEvent(); (*apvIt)->updateCalibration(tmpRawDigi); } iter++; } } }// void
ApvAnalysisMap ApvAnalysisFactory::apvMap_ [private] |
Definition at line 81 of file ApvAnalysisFactory.h.
std::string ApvAnalysisFactory::theAlgorithmType_ [private] |
Definition at line 82 of file ApvAnalysisFactory.h.
std::string ApvAnalysisFactory::theCMType_ [private] |
Definition at line 91 of file ApvAnalysisFactory.h.
float ApvAnalysisFactory::theCutToAvoidSignal_ [private] |
Definition at line 88 of file ApvAnalysisFactory.h.
int ApvAnalysisFactory::theEventInitNumber_ [private] |
Definition at line 89 of file ApvAnalysisFactory.h.
int ApvAnalysisFactory::theEventIterNumber_ [private] |
Definition at line 90 of file ApvAnalysisFactory.h.
int ApvAnalysisFactory::theMaskCalcFlag_ [private] |
Definition at line 84 of file ApvAnalysisFactory.h.
float ApvAnalysisFactory::theMaskDeadCut_ [private] |
Definition at line 86 of file ApvAnalysisFactory.h.
float ApvAnalysisFactory::theMaskNoiseCut_ [private] |
Definition at line 85 of file ApvAnalysisFactory.h.
float ApvAnalysisFactory::theMaskTruncCut_ [private] |
Definition at line 87 of file ApvAnalysisFactory.h.
int ApvAnalysisFactory::theNumCMstripsInGroup_ [private] |
Definition at line 83 of file ApvAnalysisFactory.h.
bool ApvAnalysisFactory::useDB_ [private] |
Definition at line 92 of file ApvAnalysisFactory.h.