![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
14 #ifndef MdtRawDataValAlg_H
15 #define MdtRawDataValAlg_H
24 #include "GaudiKernel/ServiceHandle.h"
25 #include "GaudiKernel/ToolHandle.h"
84 if (
A.idHash >
B.idHash) {
87 if ((
A.tubeBin >
B.tubeBin) && (
A.idHash ==
B.idHash)) {
90 if ((
A.isHit >
B.isHit) && (
A.tubeBin ==
B.tubeBin) && (
A.idHash ==
B.idHash)) {
return true; }
97 template <
class ConcreteAlgorithm>
class AlgFactory;
115 std::unique_ptr<MDTMonGroupStruct>
m_mg;
123 "Key of input MuonDetectorManager condition data"};
133 static bool AinB(
int A, std::vector<int>&
B);
141 static void CorrectTubeMax(
const std::string& hardware_name,
int& numTubes);
145 virtual StatusCode bookMDTHisto_overview_2D(
TH2*&
h, TString, TString, TString,
int,
float,
float,
int,
float,
float, MonGroup&);
146 virtual StatusCode bookMDTHisto_chambers_2D(
TH2F_LW*&
h, TString, TString, TString,
int,
float,
float,
int,
float,
float, MonGroup&);
147 virtual StatusCode bookMDTHisto_OccVsLB(
TH2*&
h, TString, TString, TString,
int,
float,
float,
int,
float,
float, MonGroup&);
179 std::stringstream
ss(
s);
static void ChamberTubeNumberCorrection(int &tubeNum, std::string_view hardware_name, int tubePos, int numLayers)
Property holding a SG store/key/clid from which a ReadHandle is made.
std::vector< IdentifierHash > m_chambersIdHash
virtual StatusCode binMdtOccVsLB_Crate(TH2 *&h, int region, int crate)
virtual StatusCode bookMDTHisto_chambers_2D(TH2F_LW *&h, TString, TString, TString, int, float, float, int, float, float, MonGroup &)
TH1 * m_mdttdccut_sector[4][4][16]
TH1 * m_overalltdcHighOcc
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
TH1 * m_nummdtchamberswithHighOcc
std::vector< std::unique_ptr< MDTChamber > > m_hist_hash_list
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_key_mdt
bool m_do_mdttube_fornoise
ToolHandle< CP::IMuonSelectionTool > m_muonSelectionTool
bool m_do_mdttdccut_RPCtrig_ML2
Scalar phi() const
phi method
bool m_do_mdttdccut_RPCtrig_ML1
TH1 * m_overalladcPRLumi[4]
std::vector< Identifier > m_chambersId
static void CorrectLayerMax(const std::string &hardware_name, int &numLayers)
Scalar eta() const
pseudorapidity method
bool operator()(const TubeTraversedBySegment &A, const TubeTraversedBySegment &B) const
TH1 * m_mdteventsLumi_big
std::map< std::string, float > m_hitsperchamber_map
TH2 * m_mdtoccvslb_by_crate[4][4]
TH2 * m_mdtoccvslb_ontrack_by_crate[4][4]
TH2 * m_overalltdcadcLumi
std::unique_ptr< MDTNoisyTubes > m_masked_tubes
virtual StatusCode bookMDTSummaryHistograms(bool newLumiBlock, bool newRun)
TH2 * m_overalltdcadcPR_HighOcc[4]
static int get_bin_for_LB_hist(int region, int layer, int phi, int eta, bool isBIM)
TH1 * m_overalltdcHighOcc_ADCCut
StatusCode getChamber(IdentifierHash id, MDTChamber *&chamber)
TH1 * m_mdteventscutLumi_big
static void CorrectTubeMax(const std::string &hardware_name, int &numTubes)
SG::ReadHandleKey< Trk::SegmentCollection > m_segm_type
TH1 * m_nummdtchamberswithhits
TH2 * m_mdteffpermultilayer[4][4]
Property holding a SG store/key/clid from which a ReadHandle is made.
int cachedTubeLayerMax(const Identifier &id) const
std::string m_StationSize
TH2 * m_overalltdcadcHighOcc
This class provides conversion from CSC RDO data to CSC Digits.
ToolHandleArray< IDQFilterTool > m_MdtDQFilterTools
static bool AinB(int A, std::vector< int > &B)
static int returnInt(const std::string &s)
TH1 * m_nummdtchamberswithhits_ADCCut
std::string m_chamberName
std::string getChamberName(const Muon::MdtPrepData *)
bool m_do_mdttdccut_sector
int GetTubeMax(const Identifier &digcoll_id, std::string_view hardware_name)
virtual StatusCode procHistograms()
An inheriting class should either override this function or finalHists().
std::set< std::string > m_hardware_name_list
virtual StatusCode bookMDTHisto_OccVsLB(TH2 *&h, TString, TString, TString, int, float, float, int, float, float, MonGroup &)
TH2 * m_mdteffperchamber_InnerMiddleOuter[4]
StatusCode handleEvent_effCalc(const Trk::SegmentCollection *segms)
TH1 * m_overalltdccut_segm_PR_Lumi[4]
TH1 * m_overalltdccut_segm_Lumi
virtual StatusCode bookMDTHisto_overview(TH1 *&, TString, TString, TString, int, float, float, MonGroup &)
TubeTraversedBySegment(const std::string &hn, int tb, bool ih, IdentifierHash idh)
TH1 * m_overalltdccutPRLumi[4]
const MuonGM::MuonDetectorManager * m_detMgr
int cachedTubeMax(const Identifier &id) const
TH2 * m_overallPR_mdt_DRvsSegD[4]
TH1 * m_overalladcPR_HighOcc[4]
TH1 * m_overalltdcPR_HighOcc_ADCCut[4]
virtual StatusCode bookMDTOverviewHistograms(bool newLumiBlock, bool newRun)
::StatusCode StatusCode
StatusCode definition for legacy code.
TH1 * m_mdtChamberHits[4][4][16]
bool isATLASReady() const
SG::ReadHandleKey< xAOD::MuonRoIContainer > m_l1RoiKey
int get_bin_for_LB_crate_hist(int region, int layer, int phi, int eta, std::string_view chamber)
TH2 * m_overallPR_mdt_DRvsDT[4]
virtual ~MdtRawDataValAlg()
bool m_do_mdtadc_onSegm_ML2
virtual StatusCode binMdtGlobal_byLayer(TH2 *, TH2 *, TH2 *)
virtual StatusCode fillHistograms()
An inheriting class should either override this function or fillHists().
TH2 * m_overall_mdt_DRvsSegD
virtual StatusCode fillMDTHistograms(const Muon::MdtPrepData *)
std::unique_ptr< MDTMonGroupStruct > m_mg
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_key_rpc
virtual StatusCode bookMDTHisto_chambers(TH1F_LW *&, TString, TString, TString, int, float, float, MonGroup &)
TH2 * m_mdthitsperML_byLayer[3]
TH1 * m_overalladccutPRLumi[4]
virtual StatusCode fillMDTMaskedTubes(IdentifierHash, const std::string &, TH1F_LW *&h)
virtual StatusCode binMdtOccVsLB(TH2 *&h, int region, int layer)
virtual StatusCode binMdtRegional(TH2 *, std::string_view xAxis)
TH1 * m_overalladc_segm_PR_Lumi[4]
TH1 * m_overalltdccutPRLumi_TGCtrig[4]
TH2 * m_mdthitspermultilayerLumi[4][4]
static void putBox(TH2 *h, float x1, float y1, float x2, float y2)
TH2 * m_overalltdcadcPRLumi[4]
TH2 * m_overall_mdt_DRvsDT
constexpr unsigned int numLayers()
TH1 * m_overalladc_HighOcc
virtual StatusCode bookHistogramsRecurrent()
An inheriting class should either override this function, bookHists() or bookHistograms().
Class to represent measurements from the Monitored Drift Tubes.
bool m_do_mdtadc_onSegm_ML1
virtual StatusCode bookMDTHisto_overview_2D(TH2 *&h, TString, TString, TString, int, float, float, int, float, float, MonGroup &)
StatusCode StoreTriggerType()
TH2 * m_mdtoccvslb_summaryPerSector
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo
TH1 * m_mdtglobalhitstime
std::set< int > m_hashId_list
SG::ReadHandleKey< xAOD::MuonContainer > m_muonKey
TH2 * m_MdtNHitsvsRpcNHits
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
std::string hardware_name
StatusCode fillLumiBlock()
std::map< std::string, float > m_tubesperchamber_map
TH2 * m_mdthitsperchamber_InnerMiddleOuterLumi[2]
TH2 * m_mdthitsperchamber_onSegm_InnerMiddleOuterLumi[2]
TH1 * m_overalltdccutPRLumi_RPCtrig[4]
static void TubeID_to_ID_L_ML(int &tubeID, std::string_view hardware_name, int &tube, int &layer, int &ML, int max)
TH1 * m_overalltdccutLumi
TH1 * m_overalltdcPR_HighOcc[4]
TH1 * m_mdtchamberstatphislice[16]
virtual StatusCode binMdtGlobal(TH2 *, char ecap)
MdtRawDataValAlg(const std::string &type, const std::string &name, const IInterface *parent)
TH2 * m_mdthitsperchamber_InnerMiddleOuter_HighOcc[2]
virtual StatusCode fillMDTSummaryHistograms(const Muon::MdtPrepData *, std::set< std::string >, bool &isNoiseBurstCandidate)
StatusCode GetTimingInfo()
void initDeadChannels(const MuonGM::MdtReadoutElement *mydetEl)
bool m_do_mdttdccut_TGCtrig_ML2
virtual StatusCode bookMDTHistograms(MDTChamber *chamber, Identifier digcoll_id)
std::map< Identifier, std::vector< Identifier > > m_DeadChannels
bool m_do_mdttdccut_TGCtrig_ML1
virtual StatusCode fillMDTOverviewHistograms(const Muon::MdtPrepData *, bool &isNoiseBurstCandidate)
static void putLine(TH2 *h, float x1, float y1, float x2, float y2, Color_t c=kBlack)
TH1 * m_overalladc_segm_Lumi
bool m_do_mdtchamberstatphislice