CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends
DTPerformance Class Reference

#include <DTPerformance.h>

Public Types

typedef std::vector< std::pair< DTPerformanceId, DTPerformanceData > >::const_iterator const_iterator
 Access methods to data. More...
 

Public Member Functions

const_iterator begin () const
 
void clear ()
 reset content More...
 
 DTPerformance ()
 
 DTPerformance (const std::string &version)
 
const_iterator end () const
 
int get (int wheelId, int stationId, int sectorId, int slId, float &meanT0, float &meanTtrig, float &meanMtime, float &meanNoise, float &meanAfterPulse, float &meanResolution, float &meanEfficiency, DTTimeUnits::type unit) const
 
int get (const DTSuperLayerId &id, float &meanT0, float &meanTtrig, float &meanMtime, float &meanNoise, float &meanAfterPulse, float &meanResolution, float &meanEfficiency, DTTimeUnits::type unit) const
 
void initialize ()
 
int set (int wheelId, int stationId, int sectorId, int slId, float meanT0, float meanTtrig, float meanMtime, float meanNoise, float meanAfterPulse, float meanResolution, float meanEfficiency, DTTimeUnits::type unit)
 
int set (const DTSuperLayerId &id, float meanT0, float meanTtrig, float meanMtime, float meanNoise, float meanAfterPulse, float meanResolution, float meanEfficiency, DTTimeUnits::type unit)
 
int setSLPerformance (int wheelId, int stationId, int sectorId, int slId, float meanT0, float meanTtrig, float meanMtime, float meanNoise, float meanAfterPulse, float meanResolution, float meanEfficiency, DTTimeUnits::type unit)
 
int setSLPerformance (const DTSuperLayerId &id, float meanT0, float meanTtrig, float meanMtime, float meanNoise, float meanAfterPulse, float meanResolution, float meanEfficiency, DTTimeUnits::type unit)
 
void setUnit (float unit)
 
int slPerformance (int wheelId, int stationId, int sectorId, int slId, float &meanT0, float &meanTtrig, float &meanMtime, float &meanNoise, float &meanAfterPulse, float &meanResolution, float &meanEfficiency, DTTimeUnits::type unit) const
 get content More...
 
int slPerformance (const DTSuperLayerId &id, float &meanT0, float &meanTtrig, float &meanMtime, float &meanNoise, float &meanAfterPulse, float &meanResolution, float &meanEfficiency, DTTimeUnits::type unit) const
 
float unit () const
 
const std::string & version () const
 access version More...
 
std::string & version ()
 
 ~DTPerformance ()
 

Private Member Functions

 DTPerformance (DTPerformance const &)=delete
 
std::string mapName () const
 read and store full content More...
 
DTPerformanceoperator= (DTPerformance const &)=delete
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

std::vector< std::pair< DTPerformanceId, DTPerformanceData > > dataList
 
std::string dataVersion
 
DTBufferTree< int, int > * dBuf
 
float nsPerCount
 

Friends

class boost::serialization::access
 
template<typename CondSerializationT , typename Enabled >
struct cond::serialization::access
 

Detailed Description

Description: Class to hold drift tubes performances ( SL by SL )

Author
Paolo Ronchese INFN Padova

Definition at line 68 of file DTPerformance.h.

Member Typedef Documentation

Access methods to data.

Definition at line 208 of file DTPerformance.h.

Constructor & Destructor Documentation

DTPerformance::DTPerformance ( )

Constructor

Definition at line 31 of file DTPerformance.cc.

References dataList.

32  dataList.reserve(1000);
33 }
std::string dataVersion
DTBufferTree< int, int > * dBuf
std::vector< std::pair< DTPerformanceId, DTPerformanceData > > dataList
DTPerformance::DTPerformance ( const std::string &  version)

Definition at line 35 of file DTPerformance.cc.

References dataList.

37  dataList.reserve(1000);
38 }
const std::string & version() const
access version
std::string dataVersion
DTBufferTree< int, int > * dBuf
std::vector< std::pair< DTPerformanceId, DTPerformanceData > > dataList
DTPerformance::~DTPerformance ( )

Destructor

Definition at line 54 of file DTPerformance.cc.

54 {}
DTPerformance::DTPerformance ( DTPerformance const &  )
privatedelete

Member Function Documentation

DTPerformance::const_iterator DTPerformance::begin ( void  ) const

Definition at line 226 of file DTPerformance.cc.

226 { return dataList.begin(); }
std::vector< std::pair< DTPerformanceId, DTPerformanceData > > dataList
void DTPerformance::clear ( void  )
DTPerformance::const_iterator DTPerformance::end ( void  ) const

Definition at line 228 of file DTPerformance.cc.

Referenced by Types.LuminosityBlockRange::cppID(), and Types.EventRange::cppID().

228 { return dataList.end(); }
std::vector< std::pair< DTPerformanceId, DTPerformanceData > > dataList
int DTPerformance::get ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
float &  meanT0,
float &  meanTtrig,
float &  meanMtime,
float &  meanNoise,
float &  meanAfterPulse,
float &  meanResolution,
float &  meanEfficiency,
DTTimeUnits::type  unit 
) const

Definition at line 63 of file DTPerformance.cc.

References data, DTBufferTree< Key, Content >::find(), DTPerformanceData::meanAfterPulse, DTPerformanceData::meanEfficiency, DTPerformanceData::meanMtime, DTPerformanceData::meanNoise, DTPerformanceData::meanResolution, DTPerformanceData::meanT0, DTPerformanceData::meanTtrig, DTTimeUnits::ns, and edm::second().

Referenced by Options.Options::__getitem__(), betterConfigParser.BetterConfigParser::__updateDict(), util.rrapi.RRApi::columns(), rrapi.RRApi::columns(), util.rrapi.RRApi::count(), rrapi.RRApi::count(), rrapi.RRApi::data(), util.rrapi.RRApi::data(), betterConfigParser.BetterConfigParser::getCompares(), betterConfigParser.BetterConfigParser::getGeneral(), betterConfigParser.BetterConfigParser::getResultingSection(), rrapi.RRApi::report(), util.rrapi.RRApi::report(), rrapi.RRApi::reports(), util.rrapi.RRApi::reports(), util.rrapi.RRApi::tables(), rrapi.RRApi::tables(), rrapi.RRApi::tags(), util.rrapi.RRApi::tags(), rrapi.RRApi::templates(), util.rrapi.RRApi::templates(), util.rrapi.RRApi::workspaces(), and rrapi.RRApi::workspaces().

74  {
75  meanT0 = meanTtrig = meanMtime = meanNoise = meanAfterPulse = meanResolution = meanEfficiency = 0.0;
76 
77  std::vector<int> chanKey;
78  chanKey.reserve(4);
79  chanKey.push_back(wheelId);
80  chanKey.push_back(stationId);
81  chanKey.push_back(sectorId);
82  chanKey.push_back(slId);
83  int ientry;
84  //Guarantee const correctness for thread-safety
85  const DTBufferTree<int, int>* constDBuf = dBuf;
86  int searchStatus = constDBuf->find(chanKey.begin(), chanKey.end(), ientry);
87  if (!searchStatus) {
88  const DTPerformanceData& data(dataList[ientry].second);
89  meanT0 = data.meanT0;
90  meanTtrig = data.meanTtrig;
91  meanMtime = data.meanMtime;
92  meanNoise = data.meanNoise;
93  meanAfterPulse = data.meanAfterPulse;
94  meanResolution = data.meanResolution;
95  meanEfficiency = data.meanEfficiency;
96  if (unit == DTTimeUnits::ns) {
97  meanT0 *= nsPerCount;
98  meanTtrig *= nsPerCount;
99  meanMtime *= nsPerCount;
100  }
101  }
102 
103  return searchStatus;
104 }
int find(ElementKey fKey, ElementKey lKey, typename DTBufferTreeTrait< Content >::outputTypeOfConstFind &cont) const
U second(std::pair< T, U > const &p)
float unit() const
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
DTBufferTree< int, int > * dBuf
std::vector< std::pair< DTPerformanceId, DTPerformanceData > > dataList
int DTPerformance::get ( const DTSuperLayerId id,
float &  meanT0,
float &  meanTtrig,
float &  meanMtime,
float &  meanNoise,
float &  meanAfterPulse,
float &  meanResolution,
float &  meanEfficiency,
DTTimeUnits::type  unit 
) const
void DTPerformance::initialize ( )

Definition at line 236 of file DTPerformance.cc.

References officialStyle::chan, DTPerformanceId::sectorId, DTPerformanceId::slId, DTPerformanceId::stationId, and DTPerformanceId::wheelId.

236  {
237  dBuf->clear();
238 
239  int entryNum = 0;
240  int entryMax = dataList.size();
241  std::vector<int> chanKey;
242  chanKey.reserve(6);
243  while (entryNum < entryMax) {
244  const DTPerformanceId& chan = dataList[entryNum].first;
245 
246  chanKey.clear();
247  chanKey.push_back(chan.wheelId);
248  chanKey.push_back(chan.stationId);
249  chanKey.push_back(chan.sectorId);
250  chanKey.push_back(chan.slId);
251  dBuf->insert(chanKey.begin(), chanKey.end(), entryNum++);
252  }
253  return;
254 }
chan
lumi = TPaveText(lowX+0.38, lowY+0.061, lowX+0.45, lowY+0.161, "NDC") lumi.SetBorderSize( 0 ) lumi...
int insert(ElementKey fKey, ElementKey lKey, Content cont)
DTBufferTree< int, int > * dBuf
std::vector< std::pair< DTPerformanceId, DTPerformanceData > > dataList
std::string DTPerformance::mapName ( ) const
private

read and store full content

Definition at line 230 of file DTPerformance.cc.

References Skims_PA_cff::name.

230  {
231  std::stringstream name;
232  name << dataVersion << "_map_Performance" << this;
233  return name.str();
234 }
std::string dataVersion
DTPerformance& DTPerformance::operator= ( DTPerformance const &  )
privatedelete
template<class Archive >
void DTPerformance::serialize ( Archive &  ar,
const unsigned int  version 
)
private
int DTPerformance::set ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
float  meanT0,
float  meanTtrig,
float  meanMtime,
float  meanNoise,
float  meanAfterPulse,
float  meanResolution,
float  meanEfficiency,
DTTimeUnits::type  unit 
)

Definition at line 141 of file DTPerformance.cc.

References data, crabWrapper::key, DTPerformanceData::meanAfterPulse, DTPerformanceData::meanEfficiency, DTPerformanceData::meanMtime, DTPerformanceData::meanNoise, DTPerformanceData::meanResolution, DTPerformanceData::meanT0, DTPerformanceData::meanTtrig, DTTimeUnits::ns, edm::second(), DTPerformanceId::sectorId, DTPerformanceId::slId, DTPerformanceId::stationId, and DTPerformanceId::wheelId.

Referenced by DTPerformanceHandler::getNewObjects().

152  {
153  if (unit == DTTimeUnits::ns) {
154  meanT0 /= nsPerCount;
155  meanTtrig /= nsPerCount;
156  meanMtime /= nsPerCount;
157  }
158 
159  std::vector<int> chanKey;
160  chanKey.reserve(4);
161  chanKey.push_back(wheelId);
162  chanKey.push_back(stationId);
163  chanKey.push_back(sectorId);
164  chanKey.push_back(slId);
165  int ientry;
166  int searchStatus = dBuf->find(chanKey.begin(), chanKey.end(), ientry);
167 
168  if (!searchStatus) {
170  data.meanT0 = meanT0;
171  data.meanTtrig = meanTtrig;
172  data.meanMtime = meanMtime;
173  data.meanNoise = meanNoise;
174  data.meanAfterPulse = meanAfterPulse;
175  data.meanResolution = meanResolution;
176  data.meanEfficiency = meanEfficiency;
177  return -1;
178  } else {
180  key.wheelId = wheelId;
181  key.stationId = stationId;
182  key.sectorId = sectorId;
183  key.slId = slId;
185  data.meanT0 = meanT0;
186  data.meanTtrig = meanTtrig;
187  data.meanMtime = meanMtime;
188  data.meanNoise = meanNoise;
189  data.meanAfterPulse = meanAfterPulse;
190  data.meanResolution = meanResolution;
191  data.meanEfficiency = meanEfficiency;
192  ientry = dataList.size();
193  dataList.push_back(std::pair<DTPerformanceId, DTPerformanceData>(key, data));
194  dBuf->insert(chanKey.begin(), chanKey.end(), ientry);
195  return 0;
196  }
197 
198  return 99;
199 }
int find(ElementKey fKey, ElementKey lKey, typename DTBufferTreeTrait< Content >::outputTypeOfConstFind &cont) const
U second(std::pair< T, U > const &p)
float unit() const
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:79
int insert(ElementKey fKey, ElementKey lKey, Content cont)
DTBufferTree< int, int > * dBuf
std::vector< std::pair< DTPerformanceId, DTPerformanceData > > dataList
int DTPerformance::set ( const DTSuperLayerId id,
float  meanT0,
float  meanTtrig,
float  meanMtime,
float  meanNoise,
float  meanAfterPulse,
float  meanResolution,
float  meanEfficiency,
DTTimeUnits::type  unit 
)

Definition at line 201 of file DTPerformance.cc.

References DTPerformanceData::meanAfterPulse, DTPerformanceData::meanEfficiency, DTPerformanceData::meanMtime, DTPerformanceData::meanNoise, DTPerformanceData::meanResolution, DTPerformanceData::meanT0, DTPerformanceData::meanTtrig, and unit().

209  {
210  return set(id.wheel(),
211  id.station(),
212  id.sector(),
213  id.superLayer(),
214  meanT0,
215  meanTtrig,
216  meanMtime,
217  meanNoise,
218  meanAfterPulse,
219  meanResolution,
220  meanEfficiency,
221  unit);
222 }
float unit() const
int DTPerformance::setSLPerformance ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
float  meanT0,
float  meanTtrig,
float  meanMtime,
float  meanNoise,
float  meanAfterPulse,
float  meanResolution,
float  meanEfficiency,
DTTimeUnits::type  unit 
)
inline

Definition at line 148 of file DTPerformance.h.

References DTPerformanceId::sectorId, DTPerformanceId::slId, DTPerformanceId::stationId, unit(), and DTPerformanceId::wheelId.

159  {
160  return set(wheelId,
161  stationId,
162  sectorId,
163  slId,
164  meanT0,
165  meanTtrig,
166  meanMtime,
167  meanNoise,
168  meanAfterPulse,
169  meanResolution,
170  meanEfficiency,
171  unit);
172  };
float unit() const
int DTPerformance::setSLPerformance ( const DTSuperLayerId id,
float  meanT0,
float  meanTtrig,
float  meanMtime,
float  meanNoise,
float  meanAfterPulse,
float  meanResolution,
float  meanEfficiency,
DTTimeUnits::type  unit 
)
inline

Definition at line 173 of file DTPerformance.h.

References triggerObjects_cff::id, DTPerformanceId::sectorId, DTPerformanceId::slId, DTPerformanceId::stationId, unit(), and DTPerformanceId::wheelId.

181  {
182  return set(id, meanT0, meanTtrig, meanMtime, meanNoise, meanAfterPulse, meanResolution, meanEfficiency, unit);
183  };
float unit() const
void DTPerformance::setUnit ( float  unit)

Definition at line 224 of file DTPerformance.cc.

References unit().

224 { nsPerCount = unit; }
float unit() const
int DTPerformance::slPerformance ( int  wheelId,
int  stationId,
int  sectorId,
int  slId,
float &  meanT0,
float &  meanTtrig,
float &  meanMtime,
float &  meanNoise,
float &  meanAfterPulse,
float &  meanResolution,
float &  meanEfficiency,
DTTimeUnits::type  unit 
) const
inline

get content

Operations

Definition at line 82 of file DTPerformance.h.

93  {
94  return get(wheelId,
95  stationId,
96  sectorId,
97  slId,
98  meanT0,
99  meanTtrig,
100  meanMtime,
101  meanNoise,
102  meanAfterPulse,
103  meanResolution,
104  meanEfficiency,
105  unit);
106  };
float unit() const
int DTPerformance::slPerformance ( const DTSuperLayerId id,
float &  meanT0,
float &  meanTtrig,
float &  meanMtime,
float &  meanNoise,
float &  meanAfterPulse,
float &  meanResolution,
float &  meanEfficiency,
DTTimeUnits::type  unit 
) const
inline

Definition at line 107 of file DTPerformance.h.

References hitfit::clear(), triggerObjects_cff::id, DTPerformanceId::sectorId, DTPerformanceId::slId, DTPerformanceId::stationId, AlCaHLTBitMon_QueryRunRegistry::string, unit(), BeamSplash_cfg::version, and DTPerformanceId::wheelId.

115  {
116  return get(id, meanT0, meanTtrig, meanMtime, meanNoise, meanAfterPulse, meanResolution, meanEfficiency, unit);
117  };
float unit() const
float DTPerformance::unit ( ) const

Definition at line 129 of file DTPerformance.cc.

129 { return nsPerCount; }
const std::string & DTPerformance::version ( ) const

access version

Definition at line 131 of file DTPerformance.cc.

Referenced by validation.Sample::datasetpattern(), and validation.Sample::filename().

131 { return dataVersion; }
std::string dataVersion
std::string & DTPerformance::version ( )

Definition at line 133 of file DTPerformance.cc.

Referenced by validation.Sample::datasetpattern(), and validation.Sample::filename().

133 { return dataVersion; }
std::string dataVersion

Friends And Related Function Documentation

friend class boost::serialization::access
friend

Definition at line 228 of file DTPerformance.h.

template<typename CondSerializationT , typename Enabled >
friend struct cond::serialization::access
friend

Definition at line 228 of file DTPerformance.h.

Member Data Documentation

std::vector<std::pair<DTPerformanceId, DTPerformanceData> > DTPerformance::dataList
private

Definition at line 221 of file DTPerformance.h.

Referenced by DTPerformance().

std::string DTPerformance::dataVersion
private

Definition at line 218 of file DTPerformance.h.

DTBufferTree<int, int>* DTPerformance::dBuf
private

Definition at line 223 of file DTPerformance.h.

float DTPerformance::nsPerCount
private

Definition at line 219 of file DTPerformance.h.