1 #ifndef ElectronicsQuantity_h
2 #define ElectronicsQauntity_h
10 #include "boost/unordered_map.hpp"
11 #include "boost/foreach.hpp"
144 typedef std::vector<std::string> (*getLabels_eid)();
196 "FED",
"FEDuTCA",
"FEDVME",
197 "Crate",
"CrateuTCA",
"CrateVME",
198 "SlotuTCA",
"SlotVME",
200 "FiberuTCA",
"FiberVME",
202 "FEDuTCASlot",
"FEDVMESpigot",
203 "FiberuTCAFiberCh",
"FiberVMEFiberCh",
204 "SLB",
"SLBCh",
"SLB-SLBCh",
205 "TPFiber",
"TPFiberCh",
232 TPFIBER_NUM*TPFIBERCH_NUM
245 TPFIBER_NUM*TPFIBERCH_NUM
284 {this->
setup(vFEDs);}
287 virtual void setup(std::vector<int>
const& vFEDs);
291 virtual int nbins() {
return _feds.size();}
292 virtual double min() {
return 0;}
293 virtual double max() {
return _feds.size();}
294 virtual std::vector<std::string> getLabels();
297 typedef boost::unordered_map<int, uint32_t>
FEDMap;
303 std::vector<int> vfeds;
306 vfeds.push_back(p.first);
310 std::sort(vfeds.begin(), vfeds.end());
getBinType_eid const getBin_functions_eid[nElectronicsQuantityType]
std::vector< std::string > getLabels_Crate()
std::vector< std::string > getLabels_Spigot()
HcalElectronicsId getEid_FEDuTCASlot(int)
double const max_eid[nElectronicsQuantityType]
uint32_t getBin_SlotuTCA(HcalElectronicsId const &)
HcalElectronicsId getEid_SLB(int)
uint32_t getBin_SLBSLBCh(HcalElectronicsId const &)
HcalElectronicsId getEid_FiberuTCAFiberCh(int)
std::vector< std::string > getLabels_FED()
std::vector< std::string >(* getLabels_eid)()
virtual uint32_t getBin(HcalElectronicsId const &eid)
int getValue_FiberChuTCATP(HcalElectronicsId const &)
virtual std::vector< std::string > getLabels()
int getValue_FED(HcalElectronicsId const &)
uint32_t(* getBinType_eid)(HcalElectronicsId const &)
uint32_t getBin_CrateuTCA(HcalElectronicsId const &)
int getValue_SLBSLBCh(HcalElectronicsId const &)
int getValue_SlotVME(HcalElectronicsId const &)
int getValue_Spigot(HcalElectronicsId const &)
HcalElectronicsId getEid_FiberuTCA(int)
std::vector< std::string > getLabels_SlotVME()
uint32_t getBin_FiberuTCAFiberCh(HcalElectronicsId const &)
virtual int getValue(HcalElectronicsId const &eid)
std::vector< std::string > getLabels_FiberChuTCATP()
uint32_t getBin_FiberVMEFiberCh(HcalElectronicsId const &)
int getValue_FiberuTCATP(HcalElectronicsId const &)
HcalElectronicsId getEid_SlotVME(int)
uint32_t getBin_FEDVME(HcalElectronicsId const &)
uint32_t getBin_FiberuTCATP(HcalElectronicsId const &)
uint32_t getBin_FiberChuTCATP(HcalElectronicsId const &)
std::vector< std::string > getLabels_FiberVMEFiberCh()
int getValue_FiberVME(HcalElectronicsId const &)
uint32_t getBin_FEDuTCASlot(HcalElectronicsId const &)
getValueType_eid const getValue_functions_eid[nElectronicsQuantityType]
double const min_eid[nElectronicsQuantityType]
HcalElectronicsId getEid_CrateVME(int)
std::vector< std::string > getLabels_FiberuTCATPFiberChuTCATP()
std::vector< std::string > getLabels_SLB()
int const nbins_eid[nElectronicsQuantityType]
std::vector< std::string > getLabels_FEDuTCA()
HcalElectronicsId getEid_SLBCh(int)
HcalElectronicsId getEid_SlotuTCA(int)
Container::value_type value_type
FEDQuantity(std::vector< int > const &vFEDs)
virtual ~ElectronicsQuantity()
HcalElectronicsId getEid_Spigot(int)
int getValue_SLBCh(HcalElectronicsId const &)
std::vector< std::string > getLabels_FEDVME()
HcalElectronicsId getEid_FiberVME(int)
virtual ElectronicsQuantity * makeCopy()
int getValue_FiberCh(HcalElectronicsId const &)
ElectronicsQuantity(ElectronicsQuantityType type, bool isLog=false)
uint32_t getBin_SLB(HcalElectronicsId const &)
HcalElectronicsId getEid_FiberuTCATPFiberChuTCATP(int)
HcalElectronicsId getEid_FEDuTCA(int)
std::vector< std::string > getLabels_CrateuTCA()
uint32_t getBin_FiberVME(HcalElectronicsId const &)
int getValue_Crate(HcalElectronicsId const &)
int const CRATE_TOTAL_NUM
std::vector< std::string > getLabels_SlotuTCA()
int getValue_CrateuTCA(HcalElectronicsId const &)
int getValue_FEDVME(HcalElectronicsId const &)
std::vector< std::string > getLabels_FiberuTCATP()
HcalElectronicsId getEid_FEDVMESpigot(int)
uint32_t getBin_FED(HcalElectronicsId const &)
HcalElectronicsId getEid_FiberVMEFiberCh(int)
uint32_t getBin_SlotVME(HcalElectronicsId const &)
int getBin(double x, std::vector< double > boundaries)
HcalElectronicsId(* getEid_eid)(int)
uint32_t getBin_FEDuTCA(HcalElectronicsId const &)
uint32_t getBin_CrateVME(HcalElectronicsId const &)
virtual QuantityType type()
int getValue_FiberuTCAFiberCh(HcalElectronicsId const &)
std::vector< std::string > getLabels_FiberVME()
std::vector< std::string > getLabels_FiberCh()
getLabels_eid const getLabels_functions_eid[nElectronicsQuantityType]
int getValue_CrateVME(HcalElectronicsId const &)
std::vector< std::string > getLabels_FEDVMESpigot()
int getValue_SlotuTCA(HcalElectronicsId const &)
virtual FEDQuantity * makeCopy()
std::vector< std::string > getLabels_FEDuTCASlot()
virtual bool isCoordinate()
int getValue_FiberVMEFiberCh(HcalElectronicsId const &)
ElectronicsQuantityType _type
uint32_t getBin_SLBCh(HcalElectronicsId const &)
uint32_t getBin_Spigot(HcalElectronicsId const &)
int getValue_FEDVMESpigot(HcalElectronicsId const &)
std::vector< std::string > getLabels_SLBCh()
int getValue_FEDuTCA(HcalElectronicsId const &)
HcalElectronicsId getEid_FiberCh(int)
HcalElectronicsId getEid_FiberChuTCATP(int)
HcalElectronicsId getEid_FED(int)
int getValue_FiberuTCATPFiberChuTCATP(HcalElectronicsId const &)
std::string const name_eid[nElectronicsQuantityType]
std::vector< std::string > getLabels_FiberuTCA()
std::vector< std::string > getLabels_CrateVME()
uint32_t getBin_FiberCh(HcalElectronicsId const &)
const JetExtendedData & getValue(const Container &, const reco::JetBaseRef &)
get value for the association. Throw exception if no association found
uint32_t getBin_Crate(HcalElectronicsId const &)
uint32_t getBin_FEDVMESpigot(HcalElectronicsId const &)
int getValue_FEDuTCASlot(HcalElectronicsId const &)
uint32_t getBin_FiberuTCA(HcalElectronicsId const &)
HcalElectronicsId getEid_CrateuTCA(int)
volatile std::atomic< bool > shutdown_flag false
uint32_t getBin_FiberuTCATPFiberChuTCATP(HcalElectronicsId const &)
int getValue_SLB(HcalElectronicsId const &)
int(* getValueType_eid)(HcalElectronicsId const &)
HcalElectronicsId getEid_Crate(int)
HcalElectronicsId getEid_FiberuTCATP(int)
Readout chain identification for Hcal.
boost::unordered_map< int, uint32_t > FEDMap
HcalElectronicsId getEid_SLBSLBCh(int)
int getValue_FiberuTCA(HcalElectronicsId const &)
HcalElectronicsId getEid_FEDVME(int)
getEid_eid const getEid_functions_eid[nElectronicsQuantityType]
std::vector< std::string > getLabels_SLBSLBCh()
std::vector< std::string > getLabels_FiberuTCAFiberCh()