1 #ifndef ValueQuantity_h 2 #define ValueQuantity_h 6 #include "boost/unordered_map.hpp" 7 #include "boost/foreach.hpp" 73 const std::map<ValueQuantityType, std::string>
name_value = {
327 }
else if (x >
max()) {
339 }
else if (x >
max()) {
349 double min()
override {
return min_value.at(
_type);}
350 double max()
override {
return max_value.at(
_type);}
381 int nbins()
override {
return _flags.size();}
382 double min()
override {
return 0;}
383 double max()
override {
return _flags.size();}
388 std::vector<std::string> vnames;
389 for (std::vector<flag::Flag>::const_iterator
390 it=_flags.begin(); it!=_flags.end(); ++it)
391 vnames.push_back(it->_name);
412 double min()
override {
return 1;}
413 double max()
override {
return _n+1;}
434 _n(n), _binning(binning)
442 int nbins()
override {
return (_n + _binning - 1) / _binning;}
443 double min()
override {
return 1;}
444 double max()
override {
return _n+1;}
448 return (l + _binning - 1) / _binning;
467 int nbins()
override {
return _runs.size();}
468 double min()
override {
return 0;}
469 double max()
override {
return _runs.size();}
473 std::vector<std::string>
labels;
474 for (uint32_t
i=0;
i<_runs.size();
i++)
476 sprintf(name,
"%d", _runs[
i]);
477 labels.push_back(name);
484 for (uint32_t
i=0;
i<_runs.size();
i++)
493 <<
"run number doens't exist " <<
run;
517 int nbins()
override {
return _nevents;}
518 double min()
override {
return 0.5;}
519 double max()
override {
return _nevents+0.5;}
531 {this->
setup(vtypes);}
534 virtual void setup(std::vector<uint32_t>
const& vtypes)
536 std::cout <<
"SIZE = " << vtypes.size() << std::endl;
537 for (uint32_t
i=0;
i<vtypes.size();
i++)
538 _types.insert(std::make_pair((uint32_t)vtypes[
i], i));
542 return _types[(uint32_t)v];
549 int nbins()
override {
return _types.size();}
550 double min()
override {
return 0;}
551 double max()
override {
return _types.size();}
555 typedef boost::unordered_map<uint32_t, int>
TypeMap;
561 std::vector<std::string>
labels(_types.size());
562 std::cout <<
"SIZE = " << _types.size() << std::endl;
571 std::vector<uint32_t> vtypes;
574 vtypes.push_back(p.first);
577 std::sort(vtypes.begin(), vtypes.end());
ValueQuantity(ValueQuantityType type, bool isLog=false)
const std::map< ValueQuantityType, int > nbins_value
virtual void setBits(TH1 *o)
virtual std::string name()
std::string name() override
int getValue(int l) override
LumiSectionCoarse(int n, int binning)
uint32_t getBin(int run) override
FlagQuantity(std::vector< flag::Flag > const &flags)
std::vector< std::string > getLabels() override
uint32_t getBin(int v) override
void setBits(TH1 *o) override
def setup(process, global_tag, zero_tesla=False)
LumiSectionCoarse * makeCopy() override
std::vector< Variable::Flags > flags
virtual void setup(std::vector< uint32_t > const &vtypes)
virtual void setLS(TH1 *o)
int getValue(int run) override
const std::map< ValueQuantityType, double > min_value
uint32_t getBin(int l) override
~ValueQuantity() override
std::string name() override
int getValue(int f) override
FlagQuantity * makeCopy() override
Container::value_type value_type
boost::unordered_map< uint32_t, int > TypeMap
std::vector< flag::Flag > _flags
std::string name() override
int getValue(int x) override
int getValue(int v) override
std::string ogtype2string(constants::OrbitGapType type)
void setMax(double x) override
std::vector< std::string > getLabels() override
const std::map< ValueQuantityType, std::string > name_value
EventType * makeCopy() override
void setMax(double x) override
std::string name() override
EventType(std::vector< uint32_t > const &vtypes)
QuantityType type() override
int getValue(int l) override
uint32_t getBin(int l) override
const std::map< ValueQuantityType, double > max_value
std::string name() override
LumiSection * makeCopy() override
~LumiSectionCoarse() override
RunNumber(std::vector< int > runs)
std::vector< std::string > getLabels() override
uint32_t getBin(int f) override
ValueQuantity * makeCopy() override
double getValue(double x) override
std::string name() override