1 #ifndef ValueQuantity_h 2 #define ValueQuantity_h 6 #include "boost/unordered_map.hpp" 7 #include "boost/foreach.hpp" 71 const std::map<ValueQuantityType, std::string>
name_value = {
317 }
else if (x >
max()) {
329 }
else if (x >
max()) {
339 double min()
override {
return min_value.at(
_type);}
340 double max()
override {
return max_value.at(
_type);}
371 int nbins()
override {
return _flags.size();}
372 double min()
override {
return 0;}
373 double max()
override {
return _flags.size();}
378 std::vector<std::string> vnames;
379 for (std::vector<flag::Flag>::const_iterator
380 it=_flags.begin(); it!=_flags.end(); ++it)
381 vnames.push_back(it->_name);
402 double min()
override {
return 1;}
403 double max()
override {
return _n+1;}
424 _n(n), _binning(binning)
432 int nbins()
override {
return (_n + _binning - 1) / _binning;}
433 double min()
override {
return 1;}
434 double max()
override {
return _n+1;}
438 return (l + _binning - 1) / _binning;
457 int nbins()
override {
return _runs.size();}
458 double min()
override {
return 0;}
459 double max()
override {
return _runs.size();}
463 std::vector<std::string>
labels;
464 for (uint32_t
i=0;
i<_runs.size();
i++)
466 sprintf(name,
"%d", _runs[
i]);
467 labels.push_back(name);
474 for (uint32_t
i=0;
i<_runs.size();
i++)
483 <<
"run number doens't exist " <<
run;
507 int nbins()
override {
return _nevents;}
508 double min()
override {
return 0.5;}
509 double max()
override {
return _nevents+0.5;}
521 {this->
setup(vtypes);}
524 virtual void setup(std::vector<uint32_t>
const& vtypes)
526 std::cout <<
"SIZE = " << vtypes.size() << std::endl;
527 for (uint32_t
i=0;
i<vtypes.size();
i++)
528 _types.insert(std::make_pair((uint32_t)vtypes[
i], i));
532 return _types[(uint32_t)v];
539 int nbins()
override {
return _types.size();}
540 double min()
override {
return 0;}
541 double max()
override {
return _types.size();}
545 typedef boost::unordered_map<uint32_t, int>
TypeMap;
551 std::vector<std::string>
labels(_types.size());
552 std::cout <<
"SIZE = " << _types.size() << std::endl;
561 std::vector<uint32_t> vtypes;
564 vtypes.push_back(p.first);
567 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