|
|
Go to the documentation of this file. 1 #ifndef DQM_GEM_INTERFACE_GEMDQMBase_h
2 #define DQM_GEM_INTERFACE_GEMDQMBase_h
45 TString y_title =
"Entries") {
53 std::vector<double> &x_binning,
55 TString y_title =
"Entries") {
58 TH1F *h_obj =
new TH1F(
name,
title, x_binning.size() - 1, &x_binning[0]);
71 TString y_title =
"") {
88 TString y_title =
"") {
100 template <
class M,
class K>
106 GEMDQMBase *pDQMBase, TString strName, TString strTitle, TString strTitleX =
"", TString strTitleY =
"Entries")
120 TString strTitleX =
"",
121 TString strTitleY =
"Entries")
138 std::vector<Double_t> &x_binning,
139 TString strTitleX =
"",
140 TString strTitleY =
"Entries")
151 for (Int_t
i = 0;
i < (Int_t)x_binning.size();
i++)
164 TString strTitleX =
"",
165 TString strTitleY =
"")
194 TString strTitleX =
"",
195 TString strTitleY =
"")
295 strName_,
strTitle_,
nBinsX_,
dXL_,
dXH_,
nBinsY_,
dYL_,
dYH_,
dZL_,
dZH_,
strTitleX_,
strTitleY_);
313 <<
"WARNING: Cannot find the histogram corresponing to the given key\n";
330 if (histCurr ==
nullptr)
332 for (Int_t
i = 1;
i <= nNumBin;
i++) {
352 if (histCurr ==
nullptr)
354 for (Int_t
i = 0;
i < nNumBin;
i++) {
356 histCurr->
setBinLabel(
i + 1, Form(
"%i (%i)",
i, nIEta), nAxis);
392 if ((unMask & bits) != 0)
429 Int_t nNumEtaPartitions,
499 template <
typename T>
500 inline bool checkRefs(
const std::vector<T *> &);
533 template <
typename T>
537 if (refs.front() ==
nullptr)
579 #endif // DQM_GEM_INTERFACE_GEMDQMBase_h
int keyToRegion(ME4IdsKey key)
MEMapInfT< MEMap2Ids, ME2IdsKey > MEMap2Inf
void SetBinLowEdgeZ(Double_t dZL)
std::map< ME3IdsKey, bool > MEMap3Check_
void SetBinConfX(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
std::map< ME3IdsKey, bool > MEMap2AbsReWithEtaCheck_
std::vector< GEMChamber > gemChambers_
std::tuple< Int_t, Int_t > ME2IdsKey
int keyToStation(ME4IdsKey key)
std::map< ME4IdsKey, bool > MEMap4Check_
int FillBits(K key, Double_t x, UInt_t bits, Double_t w=1.0)
DQMStore::IBooker * ibooker_
int keyToStation(ME2IdsKey key)
int getDetOccXBin(const int, const int, const int)
const GEMGeometry * GEMGeometry_
void SetBinLowEdgeY(Double_t dYL)
MonitorElement * bookProfile2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, double lowZ, double highZ, char const *option="s", FUNC onbooking=NOOP())
std::tuple< Int_t, Int_t, Int_t, Int_t > ME4IdsKey
std::map< ME3IdsKey, bool > MEMap2WithEtaCheck_
void SetTitleX(TString strTitleX)
int SortingLayers(std::vector< ME3IdsKey > &listLayers)
const TString title_suffix_
int getMaxVFAT(const int)
int keyToIEta(ME4IdsKey key)
int Fill(K key, Double_t x)
Double_t GetBinLowEdgeY()
ME3IdsKey key4Tokey3(ME4IdsKey key)
virtual int ProcessWithMEMap2WithEta(BookingHelper &bh, ME3IdsKey key)
int keyToChamber(ME4IdsKey key)
Double_t GetBinHighEdgeZ()
int SetLabelForVFATs(K key, Int_t nNumEtaPartitions, Int_t nAxis, Int_t nNumBin=-1)
void SetBinHighEdgeZ(Double_t dZH)
MonitorElement * book2D(TString name, TString title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup, TString x_title="", TString y_title="")
Double_t GetBinLowEdgeX()
Int_t nNumEtaPartitionGE0_
int SetLabelForChambers(K key, Int_t nAxis, Int_t nNumBin=-1)
static const int maxVFatGE21_
int getIEtaFromVFAT(const int station, const int vfat)
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, Int_t nBinsX, Double_t dXL, Double_t dXH, Int_t nBinsY, Double_t dYL, Double_t dYH, TString strTitleX="", TString strTitleY="")
int keyToIEta(ME3IdsKey key)
int getVFATNumberGE11(const int, const int, const int)
void SetBinHighEdgeY(Double_t dYH)
void SetBinLowEdgeX(Double_t dXL)
void SetNbinsY(Int_t nBinsY)
GEMDQMBase(const edm::ParameterSet &cfg)
Int_t nNumEtaPartitionGE21_
void SetBinHighEdgeX(Double_t dXH)
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, TString strTitleX="", TString strTitleY="Entries")
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, std::vector< Double_t > &x_binning, TString strTitleX="", TString strTitleY="Entries")
MEStationInfo(Int_t nRegion, Int_t nStation, Int_t nLayer, Int_t nNumChambers, Int_t nNumEtaPartitions, Int_t nMaxVFAT, Int_t nNumDigi)
std::string log_category_own_
ME2IdsKey key3Tokey2(ME3IdsKey key)
static const int maxVFatGE11_
dqm::impl::MonitorElement * CreateSummaryHist(DQMStore::IBooker &ibooker, TString strName)
constexpr std::array< uint8_t, layerIndexSize > layer
std::vector< double > x_binning_
int keyToLayer(ME4IdsKey key)
void SetTitle(TString strTitle)
BookingHelper(DQMStore::IBooker &ibooker, const TString &name_suffix, const TString &title_suffix)
int initGeometry(edm::EventSetup const &iSetup)
int readRadiusEtaPartition(int nRegion, int nStation)
MEMapInfT< MEMap4Ids, ME4IdsKey > MEMap4Inf
int getVFATNumber(const int, const int, const int)
std::map< ME4IdsKey, bool > MEMap3WithChCheck_
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, Int_t nBinsX, Double_t dXL, Double_t dXH, TString strTitleX="", TString strTitleY="Entries")
int getVFATNumberByDigi(const int, const int, const int)
virtual int ProcessWithMEMap2AbsReWithEta(BookingHelper &bh, ME3IdsKey key)
virtual int ProcessWithMEMap2(BookingHelper &bh, ME2IdsKey key)
int Fill(K key, Double_t x, Double_t y, Double_t w=1.0)
bool checkRefs(const std::vector< T * > &)
virtual void setBinLabel(int bin, const std::string &label, int axis=1)
set bin label for x, y or z axis (axis=1, 2, 3 respectively)
Int_t nNumEtaPartitionGE11_
MonitorElement * bookProfile2D(TString name, TString title, int nbinsx, double xlow, double xup, int nbinsy, double ylow, double yup, double zlow, double zup, TString x_title="", TString y_title="")
virtual int ProcessWithMEMap4(BookingHelper &bh, ME4IdsKey key)
int SetLabelForIEta(K key, Int_t nAxis, Int_t nNumBin=-1)
Log< level::Error, false > LogError
Double_t GetBinHighEdgeX()
Double_t GetBinHighEdgeY()
bool operator==(const MEStationInfo &other) const
int keyToLayer(ME3IdsKey key)
MEMapInfT< MEMap3Ids, ME3IdsKey > MEMap3Inf
std::string log_category_
void SetTitleY(TString strTitleY)
std::map< ME3IdsKey, MEStationInfo > mapStationInfo_
void SetBinConfY(Int_t nBins, Double_t dL=0.5, Double_t dH=-1048576.0)
MonitorElement * book2D(TString const &name, TString const &title, int nchX, double lowX, double highX, int nchY, double lowY, double highY, FUNC onbooking=NOOP())
MonitorElement * book1D(TString name, TString title, int nbinsx, double xlow, double xup, TString x_title="", TString y_title="Entries")
dqm::impl::MonitorElement * FindHist(K key)
void SetOperating(Bool_t bOperating)
MEMapInfT(GEMDQMBase *pDQMBase, TString strName, TString strTitle, Int_t nBinsX, Double_t dXL, Double_t dXH, Int_t nBinsY, Double_t dYL, Double_t dYH, Double_t dZL, Double_t dZH, TString strTitleX="", TString strTitleY="")
std::tuple< Int_t, Int_t, Int_t > ME3IdsKey
int keyToStation(ME3IdsKey key)
int keyToRegion(ME3IdsKey key)
std::map< ME3IdsKey, int > mapStationToIdx_
int keyToRegion(ME2IdsKey key)
void SetName(TString strName)
const TString name_suffix_
void SetNbinsX(Int_t nBinsX)
std::map< ME2IdsKey, bool > MEMap2Check_
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > geomToken_
virtual int ProcessWithMEMap3WithChamber(BookingHelper &bh, ME4IdsKey key)
int getNumEtaPartitions(const GEMStation *)
int getIEtaFromVFATGE11(const int vfat)
int bookND(BookingHelper &bh, K key)
virtual int ProcessWithMEMap3(BookingHelper &bh, ME3IdsKey key)
void SetProfile(Bool_t bIsProfile)
static const int maxChan_
MonitorElement * book1D(TString name, TString title, std::vector< double > &x_binning, TString x_title="", TString y_title="Entries")
MonitorElement * book1D(TString const &name, TString const &title, int const nchX, double const lowX, double const highX, FUNC onbooking=NOOP())
int GenerateMEPerChamber(DQMStore::IBooker &ibooker)
Double_t GetBinLowEdgeZ()