|
ATLAS Offline Software
|
#include <MdtVsTgcRawDataValAlg.h>
|
enum | Interval_t {
file = 0,
eventsBlock,
lumiBlock,
lowStat,
medStat,
higStat,
run,
fill,
all
} |
| An enumeration describing how detailed a particular monitoring object is. More...
|
|
enum | MgmtAttr_t { ATTRIB_MANAGED = 0,
ATTRIB_UNMANAGED = 1,
ATTRIB_X_VS_LB = 2
} |
| An enumeration describing how the class handles the histogram. More...
|
|
|
| MdtVsTgcRawDataValAlg (const std::string &type, const std::string &name, const IInterface *parent) |
|
virtual | ~MdtVsTgcRawDataValAlg () |
|
StatusCode | initialize () |
|
virtual StatusCode | bookHistogramsRecurrent () |
| An inheriting class should either override this function, bookHists() or bookHistograms(). More...
|
|
virtual StatusCode | fillHistograms () |
| An inheriting class should either override this function or fillHists(). More...
|
|
virtual StatusCode | procHistograms () |
| An inheriting class should either override this function or finalHists(). More...
|
|
virtual StreamNameFcn * | streamNameFunction () |
| Returns the function object that converts logical paramters into a physical stream name. More...
|
|
virtual StatusCode | bookHists () |
| Calls bookHists( true, true, true ) and initializes lumiBlock and run numbers. More...
|
|
virtual StatusCode | fillHists () |
| Calls fillHists( bool, bool, bool ); if an eventBlock,lumiBlock, or run has turned over, calls procHists( bool, bool, bool ) and bookHists( bool, bool, bool ). More...
|
|
virtual StatusCode | finalHists () |
| Calls procHists( true, true, true ). More...
|
|
virtual StatusCode | bookHistograms () |
| An inheriting class should either override this function or bookHists(). More...
|
|
virtual void | setMonManager (AthenaMonManager *manager) |
| Takes a pointer to a managing object to get information from it when needed. More...
|
|
virtual StatusCode | regHist (TH1 *h, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="") |
| Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram. More...
|
|
virtual StatusCode | regHist (TH1 *h, const MonGroup &group) |
| Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram. More...
|
|
virtual StatusCode | getHist (TH1 *&h, const std::string &hName, const std::string &system, Interval_t interval) |
| Returns a TH1 via the pointer passed as the first argument. More...
|
|
virtual StatusCode | getHist (TH1 *&h, const std::string &hName, const MonGroup &group) |
| Returns a TH1 via the pointer passed as the first argument. More...
|
|
virtual StatusCode | getHist (TH2 *&h, const std::string &hName, const std::string &system, Interval_t interval) |
| Returns a TH2 via the pointer passed as the first argument. More...
|
|
virtual StatusCode | getHist (TH2 *&h, const std::string &hName, const MonGroup &group) |
| Returns a TH2 via the pointer passed as the first argument. More...
|
|
virtual StatusCode | regEfficiency (TEfficiency *e, const MonGroup &group) |
| Registers a TEfficiency to be included in the output stream using logical parameters that describe the plot. More...
|
|
virtual StatusCode | regGraph (TGraph *g, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="") |
| Registers a TGraph to be included in the output stream using logical parameters that describe the graph. More...
|
|
virtual StatusCode | regGraph (TGraph *g, const MonGroup &group) |
| Registers a TGraph to be included in the output stream using logical parameters that describe the graph. More...
|
|
virtual StatusCode | regTree (TTree *t, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="") |
| Registers a TTree to be included in the output stream using logical parameters that describe it. More...
|
|
virtual StatusCode | regTree (TTree *t, const MonGroup &group) |
| Registers a TTree to be included in the output stream using logical parameters that describe it. More...
|
|
virtual StatusCode | writeAndDelete (TH1 *h, const MonGroup &group) |
| Write out histogram and delete it. More...
|
|
virtual StatusCode | deregHist (TH1 *h) |
| De-registers a TH1 from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | deregGraph (TGraph *g) |
| De-registers a TGraph from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | deregObject (const std::string &objName, const std::string &system, Interval_t interval) |
| De-registers a TObject from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | deregObject (const std::string &objName, const MonGroup &group) |
| De-registers a TObject from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | setupOutputStreams (std::vector< std::string > Mapping=std::vector< std::string >()) |
| This implementation does nothing—streams in this class should be managed by the AthenaMonManager. More...
|
|
virtual StatusCode | runStat () |
| This implementation does nothing; equivalent functionality may be provided by procHists( true, true, true ). More...
|
|
virtual StatusCode | checkHists (bool calledFromFinalize) |
| This implementation does nothing; equivalent functionality may be provided by procHists(...) with appropriate arguments. More...
|
|
virtual bool | preSelector () |
|
virtual float | lbAverageInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Average mu, i.e. More...
|
|
virtual float | lbInteractionsPerCrossing (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Instantaneous number of interactions, i.e. More...
|
|
virtual float | lbAverageLuminosity (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1) More...
|
|
virtual float | lbLuminosityPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Instantaneous luminosity. More...
|
|
virtual double | lbDuration (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Luminosity block time (in seconds) More...
|
|
virtual float | lbAverageLivefraction (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Average luminosity livefraction. More...
|
|
virtual float | livefractionPerBCID (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Livefraction per bunch crossing ID. More...
|
|
virtual double | lbLumiWeight (const EventContext &ctx=Gaudi::Hive::currentContext()) const |
| Average Integrated Luminosity Live Fraction. More...
|
|
| MMTB_DEPRECATED (newLowStatInterval) |
|
| MMTB_DEPRECATED (newMedStatInterval) |
|
| MMTB_DEPRECATED (newHigStatInterval) |
|
| MMTB_DEPRECATED (newLowStat) |
|
| MMTB_DEPRECATED (newLumiBlock) |
|
| MMTB_DEPRECATED (newRun) |
|
| MMTB_DEPRECATED (newEventsBlock) |
|
| MMTB_DEPRECATED (endOfEventsBlock) |
|
| MMTB_DEPRECATED (endOfLowStat) |
|
| MMTB_DEPRECATED (endOfLumiBlock) |
|
| MMTB_DEPRECATED (endOfRun) |
|
ServiceHandle< StoreGateSvc > & | evtStore () |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | evtStore () const |
| The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
const ServiceHandle< StoreGateSvc > & | detStore () const |
| The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More...
|
|
virtual StatusCode | sysInitialize () override |
| Perform system initialization for an algorithm. More...
|
|
virtual StatusCode | sysStart () override |
| Handle START transition. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. More...
|
|
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. More...
|
|
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
| Declare a new Gaudi property. More...
|
|
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
| Declare a new Gaudi property. More...
|
|
void | updateVHKA (Gaudi::Details::PropertyBase &) |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
|
StatusCode | regManagedHistograms (std::vector< MgmtParams< TH1 > > &templateHistograms) |
|
StatusCode | regManagedGraphs (std::vector< MgmtParams< TGraph > > &templateGraphs) |
|
StatusCode | regManagedTrees (std::vector< MgmtParams< TTree > > &templateTrees) |
|
StatusCode | regManagedEfficiencies (std::vector< MgmtParams< TEfficiency > > &templateEfficiencies) |
|
StatusCode | parseList (const std::string &, std::vector< std::string > &) |
|
void | updateTriggersForGroups (std::vector< std::string > &) |
|
StatusCode | registerMetadata (const std::string &streamName, const std::string &hName, const MonGroup &group) |
|
StatusCode | THistSvc_deReg_fixTGraph (TFile *file, TGraph *theGraph, std::string &directoryName) |
| Fixes THistSvc->deReg(obj) when obj is TGraph instance. More...
|
|
unsigned int | get_nEvents () const |
|
long | get_procNEventsProp () const |
|
virtual bool | trigChainsArePassed (std::vector< std::string > &) |
|
virtual StreamNameFcn * | getNewStreamNameFcn () const |
|
bool | newLowStatIntervalFlag () const |
| Flag functions allowing clients to determine when to book new and process old histograms; values are updated by fillHists() based on counting lumiBlocks, and are correctly set when fillHistograms(), bookHistograms() and procHistograms() are called. More...
|
|
bool | newMedStatIntervalFlag () const |
|
bool | newHigStatIntervalFlag () const |
|
bool | newLowStatFlag () const |
|
bool | newLumiBlockFlag () const |
|
bool | newRunFlag () const |
|
bool | newEventsBlockFlag () const |
|
bool | endOfEventsBlockFlag () const |
|
bool | endOfLowStatFlag () const |
|
bool | endOfLumiBlockFlag () const |
|
bool | endOfRunFlag () const |
|
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution More...
|
|
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
|
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. More...
|
|
|
std::map< Interval_t, std::vector< MgmtParams< TH1 > > > | m_templateHistograms |
|
std::map< Interval_t, std::vector< MgmtParams< TGraph > > > | m_templateGraphs |
|
std::map< Interval_t, std::vector< MgmtParams< TTree > > > | m_templateTrees |
|
std::map< Interval_t, std::vector< MgmtParams< TEfficiency > > > | m_templateEfficiencies |
|
std::vector< std::string > | m_vTrigChainNames |
|
std::vector< std::string > | m_vTrigGroupNames |
|
MDMap_t | m_metadataMap |
|
AthenaMonManager * | m_manager |
|
std::string | m_managerNameProp |
|
std::string | m_fileKey |
|
std::string | m_dataTypeStr |
|
std::string | m_environmentStr |
|
unsigned int | m_detailLevel |
|
AthenaMonManager::DataType_t | m_dataType |
|
AthenaMonManager::Environment_t | m_environment |
|
StreamNameFcn * | m_streamNameFcn |
|
ServiceHandle< ITHistSvc > | m_THistSvc |
|
PublicToolHandle< Trig::ITrigDecisionTool > | m_trigDecTool {this, "TrigDecisionTool",""} |
|
PublicToolHandle< ITriggerTranslatorTool > | m_trigTranslator {this,"TriggerTranslatorTool",""} |
|
ToolHandleArray< IDQFilterTool > | m_DQFilterTools {this,"FilterTools",{}} |
|
long | m_procNEventsProp |
|
std::string | m_path |
|
long | m_preScaleProp |
|
std::string | m_triggerChainProp |
|
std::string | m_triggerGroupProp |
|
bool | m_useTrigger |
|
unsigned int | m_lastLumiBlock |
|
unsigned int | m_lastRun |
|
int | m_lastLowStatInterval |
|
int | m_lastMedStatInterval |
|
int | m_lastHigStatInterval |
|
unsigned int | m_nEvents |
|
unsigned int | m_nEventsIgnoreTrigger |
|
unsigned int | m_nLumiBlocks |
|
bool | m_haveClearedLastEventBlock |
|
|
void | correlation (const Muon::MdtPrepDataContainer *mdt_hit_container, const Muon::TgcCoinDataContainer *tgc_trigger_container) |
|
int | numberOfSL (const Muon::TgcCoinDataContainer *tgctrgcontainer) |
|
void | roi2etaphi (const Muon::TgcCoinData &cd, int &eta, int &phi) |
|
int | phi2sector (int phi, int ef) |
|
int | roiphi2mdtSector (int roiphi, int ef) |
|
int | roitotalphi2sectorphi (int phi) |
|
int | stationGasGap2layer (int station, int GasGap) |
|
void | prepareTREarray (const MuonGM::MuonDetectorManager *MuonDetMgrDS) |
|
int | TGCgetlayer (int stationName, int g) |
|
int | TGClayer2stationindex (int l) |
|
int | TGCstationname2stationindex (int stationName) |
|
StatusCode | bookmaphists (MonGroup &mdtvstgclv1_expert_a, MonGroup &mdtvstgclv1_expert_c) |
|
void | maphists (const xAOD::MuonSegmentContainer *m_newsegment, const Muon::TgcPrepDataContainer *tgc_prepcontainer) |
|
void | maphistsfinalize () |
|
StatusCode | bookeffhists (MonGroup &mdtvstgclv1_expert_a, MonGroup &mdtvstgclv1_expert_c) |
|
void | tgceffcalc (const xAOD::MuonSegmentContainer *m_newsegment, const Muon::TgcPrepDataContainer *tgc_prepcontainer) |
|
void | SortMDTSegments (const xAOD::MuonSegmentContainer *m_newsegment, std::vector< const Muon::MuonSegment * >(&sortedSegments)[2][4]) |
|
void | DQCheckMDTSegments (std::vector< const Muon::MuonSegment * >(&sortedSegments)[2][4], std::vector< const Muon::MuonSegment * >(&disqualifiedSegments)[2][4]) |
|
void | MatchMDTSegments (std::vector< const Muon::MuonSegment * >(&sortedSegments)[2][4], std::vector< const Muon::MuonSegment * >(&disqualifiedSegments)[2][4], std::vector< SegmTrack >(&matchedSegments)[2]) |
|
void | CheckTGConTrack (std::vector< SegmTrack >(&matchedSegments)[2], const Muon::TgcPrepDataContainer *tgc_prepcontainer) |
|
void | MidstationOnlyCheck (std::vector< const Muon::MuonSegment * >(&sortedSegments)[2][4], std::vector< const Muon::MuonSegment * >(&disqualifiedSegments)[2][4], const Muon::TgcPrepDataContainer *tgc_prepcontainer) |
|
void | tgceffcalcfinalize () |
|
int | getStationMapIndex (int x, int l, int stationFE, int stationEta, int stationPhi) |
|
void | labelStationMap (TH2 *h2, int i=-1, int k=-1) |
|
void | putBox (TH2 *h2, float x1, float y1, float x2, float y2) |
|
void | BlankPhi24 (TH2 *h2, int binx) |
|
void | BlankStationMap (TH2 *h2, int ws) |
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
| specialization for handling Gaudi::Property<SG::VarHandleBase> More...
|
|
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
| specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
|
|
|
MuonDQAHistMap | m_stationHists |
|
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > | m_DetectorManagerKey |
|
ServiceHandle< Muon::IMuonIdHelperSvc > | m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"} |
|
bool | m_checkCabling |
|
bool | m_tgclv1file |
|
std::string | m_chamberName |
|
std::string | m_StationSize |
|
int | m_sector |
|
int | m_side |
|
int | m_lastEvent |
|
int | m_cosmicStation |
|
SG::ReadHandleKey< Muon::TgcPrepDataContainer > | m_tgc_PrepDataContainerName {this,"TgcPrepDataContainer","TGC_Measurements","TGC PRDs"} |
|
SG::ReadHandleKey< Muon::TgcCoinDataContainer > | m_tgc_CoinContainerName {this,"OutputCoinCollection","TrigT1CoinDataCollection","TGC coincidences"} |
|
SG::ReadHandleKey< Muon::MdtPrepDataContainer > | m_mdt_PrepDataContainerName {this,"MdtPrepDataContainer","MDT_DriftCircles","MDT PRDs"} |
|
SG::ReadHandleKey< xAOD::MuonSegmentContainer > | m_mdt_SegmentCollectionName {this,"MdtSegmentCollection","MuonSegments","muon segments"} |
|
int | m_MdtAdcCut |
|
int | m_MdtTdcCut |
|
const MuonGM::TgcReadoutElement * | m_TREarray [8][2][9][49] {} |
|
TH1 * | m_mvt_cutspassed [2] {} |
|
TH2 * | m_mdt_segmmap [2][4] {} |
|
TH2 * | m_eff_stationmapbase [2][2][4] {} |
|
TH2 * | m_eff_stationmapmid [2][2][4] {} |
|
TH2 * | m_eff_stationmap [2][2][4] {} |
|
TH1 * | m_mvt_extrprdsag [2][4][2][2][4] {} |
|
TH1 * | m_mvt_extrprdsag2 [2][4][2][2][4] {} |
|
TH1 * | m_tgc_prdcompsag [2][2][4] {} |
|
TH1 * | m_mdt_segmmatchsag [2][4][4][4] {} |
|
TH1 * | m_mdt_segmposdirsag [2][4][4] {} |
|
TH1 * | m_mdt_trackdirdirsag [2][4][4][4] {} |
|
TH1 * | m_mdt_trackchecksag [2][4][4][4][2] {} |
|
bool | m_newLowStatInterval |
|
bool | m_newMedStatInterval |
|
bool | m_newHigStatInterval |
|
bool | m_newLowStat |
|
bool | m_newLumiBlock |
|
bool | m_newRun |
|
bool | m_newEventsBlock |
|
bool | m_endOfEventsBlock |
|
bool | m_endOfLowStat |
|
bool | m_endOfLumiBlock |
|
bool | m_endOfRun |
|
SG::ReadCondHandleKey< LuminosityCondData > | m_lumiDataKey {this,"LuminosityCondDataKey","LuminosityCondData","SG Key of LuminosityCondData object"} |
|
SG::ReadCondHandleKey< LBDurationCondData > | m_lbDurationDataKey {this,"LBDurationCondDataKey","LBDurationCondData","SG Key of LBDurationCondData object"} |
|
SG::ReadCondHandleKey< TrigLiveFractionCondData > | m_trigLiveFractionDataKey {this,"TrigLiveFractionCondDataKey","TrigLiveFractionCondData","SG Key of TrigLiveFractionCondData object"} |
|
bool | m_bookHistogramsInitial |
|
bool | m_useLumi |
|
float | m_defaultLBDuration |
|
std::set< Interval_t > | m_supportedIntervalsForRebooking |
|
Imp * | m_d |
|
StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) More...
|
|
StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) More...
|
|
std::vector< SG::VarHandleKeyArray * > | m_vhka |
|
bool | m_varHandleArraysDeclared |
|
Definition at line 38 of file MdtVsTgcRawDataValAlg.h.
◆ MDMap_t
◆ StoreGateSvc_t
◆ Interval_t
An enumeration describing how detailed a particular monitoring object is.
summary: used to summarize the state of the system
runstat: same as summary
shift: used to flag potential problems
expert: essential for diagnosing problems identified by shift-level objects
debug: useful for standalone debugging, but not for routine monitoring; not essential for diagnosing problems during normal running
transient: too detailed to ever be written; always summarized by the user by means of another object An enumeration describing the interval over which a particular monitoring object is filled (i.e., interval over which the method Fill(...) is called). This information may be stored with the monitoring object if an application is only able to partially fill the object (i.e., a job sees only part of a run or fill). This information may be ignored in some running Environments. The 'fill' interval corresponds to a fill of the LHC. The 'all' interval corresponds to all available data. The 'lumiBlock' and 'fill' intervals are only valid for the 'collisions' DataType_t.
Enumerator |
---|
file | |
eventsBlock | |
lumiBlock | |
lowStat | |
medStat | |
higStat | |
run | |
fill | |
all | |
Definition at line 113 of file ManagedMonitorToolBase.h.
◆ MgmtAttr_t
An enumeration describing how the class handles the histogram.
attrib_unmanaged: histograms with this attribute will not be rebooked automatically and must be managed by the user code.
attrib_x_is_lb: indicates that the x-axis of the histogram is the luminosity block number and that the histogram should be rebooked as necessary if the current LB exceeds the range.
Enumerator |
---|
ATTRIB_MANAGED | |
ATTRIB_UNMANAGED | |
ATTRIB_X_VS_LB | |
Definition at line 130 of file ManagedMonitorToolBase.h.
◆ MdtVsTgcRawDataValAlg()
MdtVsTgcRawDataValAlg::MdtVsTgcRawDataValAlg |
( |
const std::string & |
type, |
|
|
const std::string & |
name, |
|
|
const IInterface * |
parent |
|
) |
| |
Definition at line 34 of file MdtVsTgcRawDataValAlg.cxx.
51 for(
int ac=0; ac<2; ac++){
53 for(
int jMDT=0; jMDT<4; jMDT++){
55 for(
int sMDT=0; sMDT<4; sMDT++){
57 for(
int iREPT=0; iREPT<4; iREPT++){
65 for(
int WS=0; WS<2; WS++){
66 for(
int EffNDE=0; EffNDE<4; EffNDE++){
76 for(
int jTGC=0;jTGC<4;jTGC++)
◆ ~MdtVsTgcRawDataValAlg()
MdtVsTgcRawDataValAlg::~MdtVsTgcRawDataValAlg |
( |
| ) |
|
|
virtual |
◆ BlankPhi24()
void MdtVsTgcRawDataValAlg::BlankPhi24 |
( |
TH2 * |
h2, |
|
|
int |
binx |
|
) |
| |
|
private |
Definition at line 144 of file MdtVsTgcRawData_functions.cxx.
145 float x1=
h->GetXaxis()->GetBinLowEdge(binx);
146 float x2=
h->GetXaxis()->GetBinUpEdge(binx);
147 for(
int i=0;
i<24;
i++){
149 float y1=
h->GetYaxis()->GetBinLowEdge(biny);
150 float y2=
h->GetYaxis()->GetBinUpEdge(biny);
◆ BlankStationMap()
void MdtVsTgcRawDataValAlg::BlankStationMap |
( |
TH2 * |
h2, |
|
|
int |
ws |
|
) |
| |
|
private |
Definition at line 155 of file MdtVsTgcRawData_functions.cxx.
159 int x1=
h->GetXaxis()->GetBinLowEdge(40);
160 int x2=
h->GetXaxis()->GetBinUpEdge(40);
161 int x3=
h->GetXaxis()->GetBinLowEdge(41);
162 int x4=
h->GetXaxis()->GetBinUpEdge(41);
163 int y1=
h->GetYaxis()->GetBinLowEdge(19);
164 int y2=
h->GetYaxis()->GetBinUpEdge(19);
167 y1=
h->GetYaxis()->GetBinLowEdge(35);
168 y2=
h->GetYaxis()->GetBinUpEdge(35);
171 y1=
h->GetYaxis()->GetBinLowEdge(43);
172 y2=
h->GetYaxis()->GetBinUpEdge(43);
177 x1=
h->GetXaxis()->GetBinLowEdge(2);
178 y1=
h->GetYaxis()->GetBinLowEdge(1);
179 x2=
h->GetXaxis()->GetBinUpEdge(2);
180 y2=
h->GetYaxis()->GetBinUpEdge(48);
182 x1=
h->GetXaxis()->GetBinLowEdge(9);
183 x2=
h->GetXaxis()->GetBinUpEdge(9);
185 x1=
h->GetXaxis()->GetBinLowEdge(16);
186 x2=
h->GetXaxis()->GetBinUpEdge(16);
188 x1=
h->GetXaxis()->GetBinLowEdge(23);
189 x2=
h->GetXaxis()->GetBinUpEdge(23);
191 x1=
h->GetXaxis()->GetBinLowEdge(34);
192 x2=
h->GetXaxis()->GetBinUpEdge(34);
◆ bookeffhists()
StatusCode MdtVsTgcRawDataValAlg::bookeffhists |
( |
MonGroup & |
mdtvstgclv1_expert_a, |
|
|
MonGroup & |
mdtvstgclv1_expert_c |
|
) |
| |
|
private |
Definition at line 100 of file MdtVsTgcRawData_bookhistograms.cxx.
103 std::stringstream sst;
104 std::string
AC[2]= {
"A",
"C"};
105 std::string RhoEtaPhiThe[4]={
"Rho",
"Eta",
"Phi",
"Theta"};
106 std::string RhoEtaPhiZ[4]= {
"Rho",
"Eta",
"Phi",
"Z"};
107 std::string FE[2]= {
"F",
"E"};
108 std::string EffNumDenom[4]= {
"",
"num",
"denom",
"error"};
109 std::string WireStrip[2]= {
"Wire",
"Strip"};
110 int nbins3D_1[4]= { 0, 0, 0, 0};
111 float fGlobalCoords3Dlo[4]= { 0, 0, 0, 0};
112 float fGlobalCoords3Dup[4]= { 0, 0, 0, 0};
118 nbins3D_1[0]= 100; nbins3D_1[1]= 8; nbins3D_1[2]= 48; nbins3D_1[3]= 100;
119 fGlobalCoords3Dlo[0]= -1000; fGlobalCoords3Dlo[1]= -1; fGlobalCoords3Dlo[2]= -
M_PI; fGlobalCoords3Dlo[3]= 0;
120 fGlobalCoords3Dup[0]= 1000; fGlobalCoords3Dup[1]= 1; fGlobalCoords3Dup[2]=
M_PI; fGlobalCoords3Dup[3]= 0.5*
M_PI;
121 for(
int i=0;
i<2;
i++){
122 for(
int k=0;
k<2;
k++){
123 for(
int e=0;
e<4;
e++){
126 sst<<
"_EfficiencyAgainstMDT";
127 sst<<
"_MapSegmTrack"<<EffNumDenom[
e];
129 ATH_MSG_DEBUG(
"Eff_StationMapBase "<<
i<<
" "<<
k<<
" "<<
e<<sst.str().c_str() );
142 sst<<
"_EfficiencyAgainstMDT";
143 sst<<
"_MapMidOnly"<<EffNumDenom[
e];
158 sst<<
"_EfficiencyAgainstMDT";
159 sst<<
"_Map"<<EffNumDenom[
e];
179 nbins3D_1[0]= 8000; nbins3D_1[1]= 200; nbins3D_1[2]= 4096; nbins3D_1[3]= 40000;
180 fGlobalCoords3Dlo[0]= -8000; fGlobalCoords3Dlo[1]= -1; fGlobalCoords3Dlo[2]= -
M_PI; fGlobalCoords3Dlo[3]= -200000;
181 fGlobalCoords3Dup[0]= 8000; fGlobalCoords3Dup[1]= 1; fGlobalCoords3Dup[2]=
M_PI; fGlobalCoords3Dup[3]= 200000;
182 for(
int i=0;
i<2;
i++){
183 for(
int jTGC=0;jTGC<4;jTGC++){
184 for(
int f=0;
f<2;
f++){
185 for(
int k=0;
k<2;
k++){
186 for(
int x=0;
x<4;
x++){
189 sst<<
"TGC_SegmTrack_"<<RhoEtaPhiZ[
x];
190 sst<<
"Sagitta_T"<<jTGC+1;
194 ATH_MSG_DEBUG(
"TGC_Sagitta "<<
i<<
" "<<jTGC<<
" "<<
f<<
" "<<
k<<
" "<<
x<<
" "<<sst.str().c_str() );
195 m_mvt_extrprdsag[
i][jTGC][
f][
k][
x] =
new TH1F(sst.str().c_str(), sst.str().c_str(), nbins3D_1[
x],fGlobalCoords3Dlo[
x],fGlobalCoords3Dup[
x]);
206 sst<<
"TGC_MidSegm_"<<RhoEtaPhiZ[
x];
207 sst<<
"Sagitta_T"<<jTGC+1;
211 ATH_MSG_DEBUG(
"TGC_Sagitta "<<
i<<
" "<<jTGC<<
" "<<
f<<
" "<<
k<<
" "<<
x<<
" "<<sst.str().c_str() );
212 m_mvt_extrprdsag2[
i][jTGC][
f][
k][
x] =
new TH1F(sst.str().c_str(), sst.str().c_str(), nbins3D_1[
x],fGlobalCoords3Dlo[
x],fGlobalCoords3Dup[
x]);
229 for(
int k=0;
k<2;
k++){
231 nbins3D_1[0]= 10000; nbins3D_1[1]= 1200; nbins3D_1[2]= 8192; nbins3D_1[3]= 40000;
232 fGlobalCoords3Dlo[0]= -1000; fGlobalCoords3Dlo[1]= -3; fGlobalCoords3Dlo[2]=-1*
M_PI/8; fGlobalCoords3Dlo[3]= -200000;
233 fGlobalCoords3Dup[0]= 1000; fGlobalCoords3Dup[1]= 3; fGlobalCoords3Dup[2]=
M_PI/8; fGlobalCoords3Dup[3]= 200000;
236 nbins3D_1[0]= 10000; nbins3D_1[1]= 1200; nbins3D_1[2]= 8192; nbins3D_1[3]= 40000;
237 fGlobalCoords3Dlo[0]= -5000; fGlobalCoords3Dlo[1]= -3; fGlobalCoords3Dlo[2]=-1*
M_PI/8; fGlobalCoords3Dlo[3]= -200000;
238 fGlobalCoords3Dup[0]= 5000; fGlobalCoords3Dup[1]= 3; fGlobalCoords3Dup[2]=
M_PI/8; fGlobalCoords3Dup[3]= 200000;
240 for(
int i=0;
i<2;
i++){
241 for(
int x=0;
x<4;
x++){
244 sst<<
"TGC_MidStationPRD_"<<RhoEtaPhiZ[
x];
245 sst<<
"Sagitta_"<<WireStrip[
k];
247 ATH_MSG_DEBUG(
"TGC_PRDonly_Sagitta "<<
i<<
" "<<
" "<<
k<<
" "<<
x<<
" "<<sst.str().c_str() );
248 m_tgc_prdcompsag[
i][
k][
x] =
new TH1F(sst.str().c_str(), sst.str().c_str(), nbins3D_1[
x],fGlobalCoords3Dlo[
x],fGlobalCoords3Dup[
x]);
268 for(
int jMDT1=0;jMDT1<4;jMDT1++)
269 for(
int jMDT2=0;jMDT2<4;jMDT2++)
270 for(
int x=0;
x<4;
x++){
274 nbins3D_1[0]= 2000; nbins3D_1[1]= 200; nbins3D_1[2]= 4096; nbins3D_1[3]= 1024;
275 fGlobalCoords3Dlo[0]= -1000; fGlobalCoords3Dlo[1]= -1; fGlobalCoords3Dlo[2]= -
M_PI/8; fGlobalCoords3Dlo[3]= 0;
276 fGlobalCoords3Dup[0]= 1000; fGlobalCoords3Dup[1]= 1; fGlobalCoords3Dup[2]=
M_PI/8; fGlobalCoords3Dup[3]= 0.5*
M_PI;
277 for(
int i=0;
i<2;
i++){
278 for(
int jMDT1=0;jMDT1<4;jMDT1++){
279 for(
int jMDT2=0;jMDT2<4;jMDT2++){
281 for(
int x=0;
x<4;
x++){
282 if(
x==0||
x==2||
x==3){
284 sst<<
"MDT_Matching_"<<RhoEtaPhiThe[
x];
285 sst<<
"Sagitta_MDT"<<jMDT1+1;
286 sst<<
"vsMDT"<<jMDT2+1;
288 ATH_MSG_DEBUG(
"MDT_MatchingSagitta "<<
i<<
" "<<jMDT1<<
" "<<jMDT2<<
" "<<
x<<
" "<<sst.str().c_str() );
289 m_mdt_segmmatchsag[
i][jMDT1][jMDT2][
x] =
new TH1F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[
x], fGlobalCoords3Dlo[
x], fGlobalCoords3Dup[
x]);
309 for(
int jMDT1=0;jMDT1<4;jMDT1++){
310 for(
int x=0;
x<4;
x++){
313 for(
int jMDT2=0;jMDT2<4;jMDT2++){
314 for(
int x=0;
x<4;
x++){
316 for(
int v=0;
v<2;
v++){
323 nbins3D_1[0]= 2000; nbins3D_1[1]= 200; nbins3D_1[2]= 8192; nbins3D_1[3]= 2048;
324 fGlobalCoords3Dlo[0]= -1000; fGlobalCoords3Dlo[1]= -1; fGlobalCoords3Dlo[2]= -2*
M_PI; fGlobalCoords3Dlo[3]=-0.5*
M_PI;
325 fGlobalCoords3Dup[0]= 1000; fGlobalCoords3Dup[1]= 1; fGlobalCoords3Dup[2]= 2*
M_PI; fGlobalCoords3Dup[3]= 0.5*
M_PI;
326 for(
int i=0;
i<2;
i++){
327 for(
int jMDT1=0;jMDT1<4;jMDT1++){
328 for(
int x=0;
x<4;
x++){
331 sst<<
"MDT_PosDir_"<<RhoEtaPhiThe[
x];
332 sst<<
"Sagitta_MDT"<<jMDT1+1;
334 ATH_MSG_DEBUG(
"MDT_PosDirSagitta "<<
i<<
" "<<jMDT1<<
" "<<
x<<
" "<<sst.str().c_str() );
335 m_mdt_segmposdirsag[
i][jMDT1][
x] =
new TH1F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[
x], fGlobalCoords3Dlo[
x], fGlobalCoords3Dup[
x]);
346 for(
int jMDT2=0;jMDT2<4;jMDT2++){
348 for(
int x=0;
x<4;
x++){
351 sst<<
"MDT_DirDir_"<<RhoEtaPhiThe[
x];
352 sst<<
"Sagitta_MDT"<<jMDT1+1;
353 sst<<
"vsMDT"<<jMDT2+1;
355 ATH_MSG_DEBUG(
"MDT_DirDirSagitta "<<
i<<
" "<<jMDT1<<
" "<<jMDT2<<
" "<<
x<<
" "<<sst.str().c_str() );
356 m_mdt_trackdirdirsag[
i][jMDT1][jMDT2][
x] =
new TH1F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[
x], fGlobalCoords3Dlo[
x], fGlobalCoords3Dup[
x]);
366 for(
int v=0;
v<2;
v++){
367 if(jMDT1>=jMDT2)
continue;
369 sst<<
"MDT_TrackCheck_"<<RhoEtaPhiThe[
x];
370 sst<<
"Sagitta_MDT"<<jMDT1+1;
373 if(
v==0)sst<<jMDT1+1;
376 ATH_MSG_DEBUG(
"MDT_TrackCheckSagitta "<<
i<<
" "<<jMDT1<<
" "<<jMDT2<<
" "<<
x<<
" "<<sst.str().c_str() );
377 m_mdt_trackchecksag[
i][jMDT1][jMDT2][
x][
v] =
new TH1F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[
x], fGlobalCoords3Dlo[
x], fGlobalCoords3Dup[
x]);
392 return StatusCode::SUCCESS;
◆ bookHistograms()
StatusCode ManagedMonitorToolBase::bookHistograms |
( |
| ) |
|
|
virtualinherited |
An inheriting class should either override this function or bookHists().
Reimplemented in photonMonTool, egammaMonToolBase, electronMonTool, MuonPhysValMonitoring::MuonPhysValMonitoringTool, ActsTrk::PhysValTool, PhysValSecVtx, ZeeTaPMonTool, forwardElectronMonTool, CscCalibMonToolBase, InDetPhysValMonitoringTool, EgammaPhysValMonitoring::EgammaPhysValMonitoringTool, MissingEtDQA::PhysValMET, CscCalibMonToolSlope, InDetTrackPerfMonTool, JetTagDQA::PhysValBTag, PhysVal::PhysValExample, CscCalibMonToolPed, GeneratorPhysVal::GeneratorPhysValMonitoringTool, ZeeValidation::ZeeValidationMonitoringTool, IDPerfMonWenu, IDPerfMonZee, TrackCaloClusterRecValidationTool, JetMonitoringTool, TileCellNoiseMonTool, PhysValTau, PhysValFE, DiMuMon, ManagedMonitorToolTest, IDPerfMonKshort, and PhysValCluster.
Definition at line 1298 of file ManagedMonitorToolBase.cxx.
1302 return StatusCode::SUCCESS;
◆ bookHistogramsRecurrent()
StatusCode MdtVsTgcRawDataValAlg::bookHistogramsRecurrent |
( |
| ) |
|
|
virtual |
◆ bookHists()
StatusCode ManagedMonitorToolBase::bookHists |
( |
| ) |
|
|
virtualinherited |
◆ bookmaphists()
StatusCode MdtVsTgcRawDataValAlg::bookmaphists |
( |
MonGroup & |
mdtvstgclv1_expert_a, |
|
|
MonGroup & |
mdtvstgclv1_expert_c |
|
) |
| |
|
private |
Definition at line 27 of file MdtVsTgcRawData_bookhistograms.cxx.
30 std::stringstream sst;
31 std::string
AC[2]= {
"A",
"C"};
32 int nbins3D_1[4]= { 0, 0, 0, 0};
33 float fGlobalCoords3Dlo[4]= { 0, 0, 0, 0};
34 float fGlobalCoords3Dup[4]= { 0, 0, 0, 0};
40 nbins3D_1[0]= 480; nbins3D_1[1]= 120; nbins3D_1[2]= 128; nbins3D_1[3]= 100;
41 fGlobalCoords3Dlo[0]= 0; fGlobalCoords3Dlo[1]= 0; fGlobalCoords3Dlo[2]= 0; fGlobalCoords3Dlo[3]= 0;
42 fGlobalCoords3Dup[0]= 12000; fGlobalCoords3Dup[1]= 3; fGlobalCoords3Dup[2]= 2*
M_PI; fGlobalCoords3Dup[3]= 0.5*
M_PI;
45 sst<<
"EffCheck_CutsPassed_"<<
AC[
i];
75 nbins3D_1[0]= 600; nbins3D_1[1]= 120; nbins3D_1[2]= 128; nbins3D_1[3]= 128;
76 fGlobalCoords3Dlo[0]= 0; fGlobalCoords3Dlo[1]= 0; fGlobalCoords3Dlo[2]= 0; fGlobalCoords3Dlo[3]= 0;
77 fGlobalCoords3Dup[0]= 12000; fGlobalCoords3Dup[1]= 3; fGlobalCoords3Dup[2]= 2*
M_PI; fGlobalCoords3Dup[3]= 0.5*
M_PI;
79 for(
int jMDT=0;jMDT<4;jMDT++){
81 sst<<
"MDT_SegmMap_MDT"<<jMDT+1;
83 ATH_MSG_DEBUG(
"MDT_SegmMap "<<
i<<
" "<<jMDT<<
" "<<sst.str().c_str() );
84 m_mdt_segmmap[
i][jMDT] =
new TH2F(sst.str().c_str(),sst.str().c_str(), nbins3D_1[2], fGlobalCoords3Dlo[2], fGlobalCoords3Dup[2], nbins3D_1[1], fGlobalCoords3Dlo[1], fGlobalCoords3Dup[1]);
96 return StatusCode::SUCCESS;
◆ checkHists()
StatusCode ManagedMonitorToolBase::checkHists |
( |
bool |
calledFromFinalize | ) |
|
|
virtualinherited |
◆ CheckTGConTrack()
Definition at line 36 of file MdtVsTgcRawData_PRDonTrack.cxx.
40 const float dPhiCut_Loose =
M_PI/8;
42 const float dPhiCutGlobal[2] = {
static_cast<float>(
M_PI/24),
static_cast<float>(
M_PI/12)};
43 const float dRhoCutGlobal[2] = { 0.08, 0.5};
45 const float dPhiCutSector[2] = { 0.2, 0.1};
46 const float dRhoCutSector[2] = { 200, 2000};
51 unsigned int nTrack=matchedSegments[
i].size();
60 if(nTrack!=1)
continue;
67 float innerSegmRho=0;
float innerSegmPhi=0;
float innerSegmZ=0;
76 float midSegmPhi =0;
float midSegmZ =0;
81 bool canCheckGlobal[4] = {0, 0, 0, 0};
82 if(matchedSegments[
i].at(0).at(2)!=
nullptr){
84 canCheckGlobal[0]=
true; canCheckGlobal[1]=
true; canCheckGlobal[2]=
true;
86 midSegmPos =
Amg::Vector3D(matchedSegments[
i].at(0).at(2)->globalPosition());
87 midSegmPhi = midSegmPos.phi();
88 midSegmZ = midSegmPos.z();
89 if(midSegmPhi<0)midSegmPhi+=2*
M_PI;
90 midSegmDirzunit =
Amg::Vector3D(midSegmPos/std::abs(midSegmZ));
92 if((matchedSegments[
i].at(0).at(0)!=
nullptr)&&(matchedSegments[
i].at(0).at(2)!=
nullptr)){
94 canCheckGlobal[3]=
true;
96 innerSegmPos =
Amg::Vector3D(matchedSegments[
i].at(0).at(0)->globalPosition());
97 innerSegmRho = std::abs(innerSegmPos.perp());
98 innerSegmZ = std::abs(innerSegmPos.z());
100 innerSegmPhi = midSegmPhi;
103 innerSegmDirzunit =
Amg::Vector3D(innerSegmPos/std::abs(innerSegmZ));
107 bool skipSide =
true;
108 for(
int jTGC=0;jTGC<4;jTGC++)
if(canCheckGlobal[jTGC]==
true)skipSide=
false;
109 if(skipSide==
true)
continue;
112 int TGCStationNames[8] ={41, 42, 43, 44, 45, 46, 47, 48};
113 int TGCstation_StationFE[4] ={-1,-1,-1,-1};
114 int TGCstation_StationEta[4]={ 0, 0, 0, 0};
115 int TGCstation_StationPhi[4]={ 0, 0, 0, 0};
116 int nStationMatch[4] ={ 0, 0, 0, 0};
117 bool canCheckSector[4] ={
true,
true,
true,
true};
120 for(
int stationnameindex=0; stationnameindex<8; stationnameindex++){
122 int stationName = TGCStationNames[stationnameindex];
124 if(stationIndex<0)
continue;
125 if(!canCheckGlobal[stationIndex])
continue;
128 for(
int stationeta=1; stationeta<=8; stationeta++){
129 for(
int stationphi=1; stationphi<=48; stationphi++){
131 if(
m_TREarray[stationnameindex][
i][stationeta][stationphi]==
nullptr)
continue;
140 float dZ_sector=std::abs(sectorZ)-std::abs(innerSegmZ);
142 sectorExtrapolatedPos =
Amg::Vector3D(innerSegmPos+(innerSegmDirzunit*dZ_sector));
145 float dZ_sector=std::abs(sectorZ)-std::abs(midSegmZ);
146 sectorExtrapolatedPos =
Amg::Vector3D(midSegmPos+(midSegmDirzunit*dZ_sector));
152 Amg::Vector2D sectorLocalPos2D(sectorLocalPos3D.y(),sectorLocalPos3D.z());
159 double tol1=-0.1*(avWidth/2);
160 double tol2=-0.1*(
length/2);
162 bool insideSectorBounds=tre->
bounds().
inside(sectorLocalPos2D,tol1,tol2);
163 if(!insideSectorBounds)
continue;
166 TGCstation_StationFE[stationIndex]= (tre->
isForward()==
false);
167 TGCstation_StationEta[stationIndex]=stationeta;
168 TGCstation_StationPhi[stationIndex]=stationphi;
169 nStationMatch[stationIndex]++;
175 for(
int jTGC=0;jTGC<4;jTGC++){
176 if(nStationMatch[jTGC]==0){
177 canCheckSector[jTGC]=
false;
179 else if(nStationMatch[jTGC]>1){
180 canCheckSector[jTGC]=
false;
188 int nTGCStrips[4] = {0, 0, 0, 0};
189 for(
int jMDT=0;jMDT<4;jMDT++){
190 if(matchedSegments[
i].at(0).at(jMDT)==
nullptr)
continue;
194 ATH_MSG_DEBUG(
"number of MeasurementBase: "<<mMeasTrk.size() );
195 for (
unsigned int i=0;
i<mMeasTrk.size();
i++) {
200 const std::vector<const Muon::MuonClusterOnTrack*> mc_list = crot->
containedROTs();
201 for(
unsigned int iROT=0; iROT< mc_list.size(); iROT++){
222 if((nTGCStrips[1]==0)&&(nTGCStrips[2]==0)){canCheckSector[0]=
false;canCheckGlobal[0]=
false;}
223 if((nTGCStrips[0]==0)&&(nTGCStrips[2]==0)){canCheckSector[1]=
false;canCheckGlobal[1]=
false;}
224 if((nTGCStrips[0]==0)&&(nTGCStrips[1]==0)){canCheckSector[2]=
false;canCheckGlobal[2]=
false;}
228 bool sectorhitregistered[9][2];
229 for(
int l=0;
l<9;
l++){
230 for(
int k=0;
k<2;
k++){
232 sectorhitregistered[
l][
k]=
false;
237 bool HasPRD[9] ={
false,
false,
false,
false,
false,
false,
false,
false,
false};
238 bool PRDMatch[9]={
false,
false,
false,
false,
false,
false,
false,
false,
false};
249 prepitc!= prepitc_end;
258 int tgcAC=(tre->
sideA()==
false);
267 if(tgcAC!=
i)
continue;
275 if(stationIndex<0)
continue;
276 if(!(canCheckGlobal[stationIndex]||canCheckSector[stationIndex]))
continue;
277 if(
layer<0)
continue;
283 float tgcRho = std::abs(prdPos.perp());
284 float tgcPhi = prdPos.phi();
285 float tgcZ = prdPos.z();
286 if(tgcPhi<0)tgcPhi+=2*
M_PI;
293 float dZ = std::abs(tgcZ) - std::abs(innerSegmZ);
295 tgcExtrapolatedPos =
Amg::Vector3D(innerSegmPos+(innerSegmDirzunit*dZ));
298 float dZ = std::abs(tgcZ) - std::abs(midSegmZ);
300 tgcExtrapolatedPos =
Amg::Vector3D(midSegmPos+(midSegmDirzunit*dZ));
302 float tgcExtrRho = std::abs(tgcExtrapolatedPos.perp());
303 float tgcExtrPhi = tgcExtrapolatedPos.phi();
304 if(tgcExtrPhi<0)tgcExtrPhi+=2*
M_PI;
307 float dRho = tgcRho-tgcExtrRho;
308 float dPhi = tgcPhi-tgcExtrPhi;
313 if(std::abs(
dPhi)<dPhiCut_Loose){
319 if(canCheckGlobal[stationIndex]){
321 float dRhoCut = dRhoCutGlobal[tgcWS]*tgcExtrRho;
322 if(std::abs(
dPhi)<dPhiCutGlobal[tgcWS] && std::abs(dRho)<dRhoCut){
327 if(canCheckSector[stationIndex]){
328 if((
stationEta==TGCstation_StationEta[stationIndex])&&
329 (
stationPhi==TGCstation_StationPhi[stationIndex])&&
330 (tgcFE==TGCstation_StationFE[stationIndex])){
331 if(std::abs(
dPhi)<dPhiCutSector[tgcWS] && std::abs(dRho)<dRhoCutSector[tgcWS]){
332 sectorhitregistered[
layer][tgcWS]=
true;
342 for(
int l=0;
l<9;
l++){
345 if(stationIndex<0)
continue;
346 for(
int k=0;
k<2;
k++){
348 if(canCheckSector[stationIndex]){
349 if((TGCstation_StationFE[stationIndex]<0)||(TGCstation_StationEta[stationIndex]==0)||(TGCstation_StationPhi[stationIndex]==0)){
350 ATH_MSG_WARNING(
"SegmTrack: canCheckSector passed for jTGC=" << stationIndex
351 <<
" but, FE=" << TGCstation_StationFE[stationIndex]
352 <<
" Eta=" << TGCstation_StationEta[stationIndex]
353 <<
" Phi=" << TGCstation_StationPhi[stationIndex] );
357 int stationMap_EtaIndex=
getStationMapIndex(1,
l, TGCstation_StationFE[stationIndex], TGCstation_StationEta[stationIndex], TGCstation_StationPhi[stationIndex]);
358 int stationMap_PhiIndex=
getStationMapIndex(2,
l, TGCstation_StationFE[stationIndex], TGCstation_StationEta[stationIndex], TGCstation_StationPhi[stationIndex]);
360 if(sectorhitregistered[
l][
k]){
379 if((PRDMatch[0]||PRDMatch[1]||PRDMatch[2])&&
380 (PRDMatch[3]||PRDMatch[4])&&
381 (PRDMatch[5]||PRDMatch[6])&&
383 if((PRDMatch[0]&&PRDMatch[1]&&PRDMatch[2])&&
384 (PRDMatch[3]&&PRDMatch[4])&&
385 (PRDMatch[5]&&PRDMatch[6])&&
◆ correlation()
<<"mmdtStationName "<<mdtStationName
Definition at line 27 of file MdtVsTgcRawData_correlation.cxx.
36 if(MuonDetMgr==
nullptr){
37 ATH_MSG_ERROR(
"Null pointer to the read MuonDetectorManager conditions object");
75 float tgcEta = std::abs(
pos.eta());
76 float tgcPhi =
pos.phi();
77 if(tgcPhi<0)tgcPhi+=2*
M_PI;
87 <<
" tgcPhi "<<tgcPhi );
93 for (containerIt = mdt_hit_container->
begin() ;
94 containerIt != container_end ;
97 Identifier mdt_id = (*containerIt)->identify();
114 int mdtStationName =
int(
m_idHelperSvc->mdtIdHelper().stationName(mdt_id)) ;
134 if(mdtStationName!=17 && mdtStationName!=18 )
continue;
141 if(mdtStationName==18)mdtSector+=1;
142 double mdtSectorPhi = (mdtSector-1.)*
M_PI/8.;
145 if(ac!=mdtAC)
continue;
151 <<
" mdtSectorPhi "<<mdtSectorPhi );
160 for(
int k=0;
k<64;
k++)
164 mdtCollection!= collection_it_end;
167 Identifier mdt_id2 = (*mdtCollection)->identify();
177 <<
" mdtTubeIdForEM "<<mdtTubeIdForEM );
182 int adc = (*mdtCollection)->adc();
183 int tdc = (*mdtCollection)->tdc();
189 float mdtEta = std::abs(mdtgPos.eta());
190 float mdtPhi = mdtgPos.phi();
191 float mdtr = mdtgPos.perp();
192 float mdtz = mdtgPos.z();
193 if(mdtPhi<0)mdtPhi+=2*
M_PI;
198 <<
" MultiLayer "<<mdtMultiLayer
201 <<
" TubeIdForEM "<<mdtTubeIdForEM
207 <<
" SecPhi "<<mdtSectorPhi
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
253 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
229 return PBASE::declareProperty(
name,hndl,
doc);
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
338 return PBASE::declareProperty(
name, property,
doc);
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
◆ declareProperty() [6/6]
◆ deregGraph()
StatusCode ManagedMonitorToolBase::deregGraph |
( |
TGraph * |
g | ) |
|
|
virtualinherited |
◆ deregHist()
StatusCode ManagedMonitorToolBase::deregHist |
( |
TH1 * |
h | ) |
|
|
virtualinherited |
◆ deregObject() [1/2]
StatusCode ManagedMonitorToolBase::deregObject |
( |
const std::string & |
objName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
De-registers a TObject from the THistSvc, but does NOT delete the object.
(NB: LightWeight histograms are not even registered until readout).
Definition at line 1643 of file ManagedMonitorToolBase.cxx.
◆ deregObject() [2/2]
StatusCode ManagedMonitorToolBase::deregObject |
( |
const std::string & |
objName, |
|
|
const std::string & |
system, |
|
|
Interval_t |
interval |
|
) |
| |
|
virtualinherited |
De-registers a TObject from the THistSvc, but does NOT delete the object.
(NB: LightWeight histograms are not even registered until readout).
Definition at line 1633 of file ManagedMonitorToolBase.cxx.
◆ detStore()
◆ DQCheckMDTSegments()
Definition at line 34 of file MdtVsTgcRawData_SegmDQ.cxx.
38 const int nMeasCutMdt[4] = { 4, 2, 4, 5};
39 const int nMeasCutTgcStrip[4] = { 0, 0, 1, 0};
41 const float dPhiCutPosDir[4] = {0.05,0.05,0.08,0.1 };
42 const float dTheCutPosDir[4] = { 0.2, 0.4, 0.6,0.5 };
46 bool skipSegm;
int nDisqualifiedSegm;
50 for(
int jMDT=0;jMDT<4;jMDT++){
52 int nSegm=sortedSegments[
i][jMDT].size();
55 for(
int n=0;
n<nSegm;
n++){
59 if(segm==
nullptr)
continue;
63 nDisqualifiedSegm=disqualifiedSegments[
i][jMDT].size();
64 for(
int ndis=0;ndis<nDisqualifiedSegm;ndis++)
if(segm==disqualifiedSegments[
i][jMDT].at(ndis))skipSegm=
true;
72 int nTgcMeas[2] = {0,0};
97 if(nMdtMeas<nMeasCutMdt[jMDT]||nTgcMeas[1]<nMeasCutTgcStrip[jMDT]){
108 float segmPosPhi = segmGlobalPos.phi();
109 float segmPosThe = segmGlobalPos.theta();
110 if(segmPosPhi<0) segmPosPhi+=2*
M_PI;
111 if(segmPosThe>
M_PI/2) segmPosThe=
M_PI-segmPosThe;
115 float segmDirPhi = segmGlobalDir.phi();
116 float segmDirThe = segmGlobalDir.theta();
117 if(segmDirPhi<0) segmDirPhi+=2*
M_PI;
118 if(segmDirThe>
M_PI/2) segmDirThe=
M_PI-segmDirThe;
121 float dPhi_Pos_Dir = segmPosPhi-segmDirPhi;
122 float dThe_Pos_Dir = segmPosThe-segmDirThe;
123 if(dPhi_Pos_Dir<-
M_PI)dPhi_Pos_Dir+=2*
M_PI;
124 if(dPhi_Pos_Dir>
M_PI)dPhi_Pos_Dir-=2*
M_PI;
132 if(std::abs(dPhi_Pos_Dir)>dPhiCutPosDir[jMDT]||std::abs(dThe_Pos_Dir)>dTheCutPosDir[jMDT]){
140 disqualifiedSegments[
i][jMDT].push_back(segm);
◆ endOfEventsBlockFlag()
bool ManagedMonitorToolBase::endOfEventsBlockFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ endOfLowStatFlag()
bool ManagedMonitorToolBase::endOfLowStatFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ endOfLumiBlockFlag()
bool ManagedMonitorToolBase::endOfLumiBlockFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ endOfRunFlag()
bool ManagedMonitorToolBase::endOfRunFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ extraDeps_update_handler()
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
◆ fillHistograms()
StatusCode MdtVsTgcRawDataValAlg::fillHistograms |
( |
| ) |
|
|
virtual |
An inheriting class should either override this function or fillHists().
Reimplemented from ManagedMonitorToolBase.
Definition at line 155 of file MdtVsTgcRawDataValAlg.cxx.
157 ATH_MSG_DEBUG(
"MdtVsTgcRawDataValAlg::TGC RawData Monitoring Histograms being filled" );
171 tgceffcalc(mdt_segment_collection.cptr(), tgc_prd_container.cptr());
172 maphists(mdt_segment_collection.cptr(), tgc_prd_container.cptr());
175 int nSL =
numberOfSL(tgc_coin_container.cptr());
179 correlation(mdt_prd_container.cptr(), tgc_coin_container.cptr());
183 return StatusCode::SUCCESS;
◆ fillHists()
StatusCode ManagedMonitorToolBase::fillHists |
( |
| ) |
|
|
virtualinherited |
Calls fillHists( bool, bool, bool ); if an eventBlock,lumiBlock, or run has turned over, calls procHists( bool, bool, bool ) and bookHists( bool, bool, bool ).
Implements IMonitorToolBase.
Reimplemented in TileRawChannelMonTool, and TileDigitsMonTool.
Definition at line 740 of file ManagedMonitorToolBase.cxx.
746 msg(MSG::WARNING) <<
"ManagedMonitorToolBase::initialize() never called from reimplementation!" <<
endmsg;
757 newLumiBlock =
false;
763 newLowStatInterval =
false;
764 newMedStatInterval =
false;
765 newHigStatInterval =
false;
778 isNewEventsBlock =
true;
793 if( LBsLowStat*LBsMedStat*LBsHigStat == 0) {
794 msg(MSG::WARNING) <<
"zero LBs requested for interval" <<
endmsg;
846 std::vector<Interval_t> intervals_to_process;
851 for (
const auto interval: intervals_to_process) {
863 it.m_templateHist->LabelsInflate(
"X");
870 TH1* passedHist =
it.m_templateHist->GetCopyPassedHisto();
871 TH1* totalHist =
it.m_templateHist->GetCopyTotalHisto();
874 passedHist->LabelsInflate(
"X");
875 totalHist->LabelsInflate(
"X");
880 it.m_templateHist->SetPassedHistogram(*passedHist,
"f");
881 it.m_templateHist->SetTotalHistogram(*totalHist,
" ");
889 streamname->updateRunLB();
899 bool filterresult(
true);
902 for (; filterresult && (ifilter != filterend);
904 filterresult = (filterresult && (*ifilter)->accept());
934 if( LBsLowStat*LBsMedStat*LBsHigStat > 0) {
942 return StatusCode::SUCCESS;
◆ finalHists()
StatusCode ManagedMonitorToolBase::finalHists |
( |
| ) |
|
|
virtualinherited |
◆ get_nEvents()
unsigned int ManagedMonitorToolBase::get_nEvents |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ get_procNEventsProp()
long ManagedMonitorToolBase::get_procNEventsProp |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ getHist() [1/4]
StatusCode ManagedMonitorToolBase::getHist |
( |
TH1 *& |
h, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Returns a TH1 via the pointer passed as the first argument.
The histogram name, without the leading path or stream name, must be given as the second argument.
Definition at line 1419 of file ManagedMonitorToolBase.cxx.
◆ getHist() [2/4]
StatusCode ManagedMonitorToolBase::getHist |
( |
TH1 *& |
h, |
|
|
const std::string & |
hName, |
|
|
const std::string & |
system, |
|
|
Interval_t |
interval |
|
) |
| |
|
virtualinherited |
Returns a TH1 via the pointer passed as the first argument.
The histogram name, without the leading path or stream name, must be given as the second argument.
Definition at line 1409 of file ManagedMonitorToolBase.cxx.
◆ getHist() [3/4]
StatusCode ManagedMonitorToolBase::getHist |
( |
TH2 *& |
h, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Returns a TH2 via the pointer passed as the first argument.
The histogram name, without the leading path or stream name, must be given as the second argument.
Definition at line 1438 of file ManagedMonitorToolBase.cxx.
◆ getHist() [4/4]
StatusCode ManagedMonitorToolBase::getHist |
( |
TH2 *& |
h, |
|
|
const std::string & |
hName, |
|
|
const std::string & |
system, |
|
|
Interval_t |
interval |
|
) |
| |
|
virtualinherited |
Returns a TH2 via the pointer passed as the first argument.
The histogram name, without the leading path or stream name, must be given as the second argument.
Definition at line 1428 of file ManagedMonitorToolBase.cxx.
◆ getNewStreamNameFcn()
|
protectedvirtualinherited |
Definition at line 2157 of file ManagedMonitorToolBase.cxx.
2160 StreamNameFcn* fcn(0);
2164 fcn =
new NoOutputStream();
2167 fcn =
new OnlineStream();
◆ getStationMapIndex()
int MdtVsTgcRawDataValAlg::getStationMapIndex |
( |
int |
x, |
|
|
int |
l, |
|
|
int |
stationFE, |
|
|
int |
stationEta, |
|
|
int |
stationPhi |
|
) |
| |
|
private |
◆ initialize()
StatusCode MdtVsTgcRawDataValAlg::initialize |
( |
| ) |
|
|
virtual |
◆ inputHandles()
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ interfaceID()
static const InterfaceID& IMonitorToolBase::interfaceID |
( |
| ) |
|
|
inlinestaticinherited |
◆ intervalEnumToString()
std::string ManagedMonitorToolBase::intervalEnumToString |
( |
Interval_t |
interval | ) |
|
|
staticinherited |
Converts a LevelOfDetail_t to a string of the same name.
Converts a string to the corresponding LevelOfDetail_t. Converts a Interval_t to a string of the same name.
Definition at line 536 of file ManagedMonitorToolBase.cxx.
539 std::string
str(
"file");
◆ intervalStringToEnum()
Converts a string to the corresponding Interval_t.
Definition at line 578 of file ManagedMonitorToolBase.cxx.
581 std::string lcstr( strToLower(
str) );
585 else if( lcstr ==
"fill" )
587 else if( lcstr ==
"run" )
589 else if( lcstr ==
"lowStat" )
591 else if( lcstr ==
"medStat" )
593 else if( lcstr ==
"higStat" )
595 else if( lcstr ==
"lumiBlock" )
597 else if( lcstr ==
"eventsBlock" )
599 else if( lcstr ==
"file" )
605 MsgStream
log(
ms,
"ManagedMonitorToolBase::intervalStringToEnum()" );
606 log << MSG::WARNING <<
"Unknown ManagedMonitorToolBase::Interval_t \""
607 <<
str <<
"\", returning \"file\"" <<
endmsg;
◆ labelStationMap()
void MdtVsTgcRawDataValAlg::labelStationMap |
( |
TH2 * |
h2, |
|
|
int |
i = -1 , |
|
|
int |
k = -1 |
|
) |
| |
|
private |
Definition at line 397 of file MdtVsTgcRawData_bookhistograms.cxx.
401 std::stringstream sst;
402 std::string
AC[2]={
"A",
"C"};
403 int nChambers[9]={5,5,5,6,6,6,6,2,2};
404 std::string chamber1[6]={
"E1",
"E2",
"E3",
"E4",
"F"};
405 std::string chamber3[6]={
"E1",
"E2",
"E3",
"E4",
"E5",
"F"};
406 std::string chamberE[2]={
"EI",
"FI"};
412 for(
int l=0 ;
l<9 ;
l++ ){
414 for(
int c=0 ;
c<nChambers[
l] ;
c++ ){
415 sst <<
"L" <<
l+1 <<
"_";
416 if(nChambers[
l]==5)sst<<chamber1[
c];
417 else if(nChambers[
l]==6)sst<<chamber3[
c];
418 else if(nChambers[
l]==2)sst<<chamberE[
c];
419 if(
l+1>0 &&
l+1<=3 &&
c+1<5)ibin=7*
c+(
l+1);
420 else if(
l+1>3 &&
l+1<=7 &&
c+1<5)ibin=7*
c+(
l+1);
421 else if(
l+1>3 &&
l+1<=7 &&
c+1==5)ibin=25+(
l+1);
422 else if(
l+1==1 &&
c+1==5)ibin=33;
423 else if(
l+1==2 &&
c+1==5)ibin=34;
424 else if(
l+1==3 &&
c+1==5)ibin=35;
425 else if(
l+1==4 &&
c+1==6)ibin=36;
426 else if(
l+1==5 &&
c+1==6)ibin=37;
427 else if(
l+1==6 &&
c+1==6)ibin=38;
428 else if(
l+1==7 &&
c+1==6)ibin=39;
429 else if(
l+1==8 &&
c+1==1)ibin=40;
430 else if(
l+1==8 &&
c+1==2)ibin=42;
431 else if(
l+1==9 &&
c+1==1)ibin=41;
432 else if(
l+1==9 &&
c+1==2)ibin=43;
433 h2->GetXaxis()->SetBinLabel(ibin, sst.str().c_str());
434 h2->GetXaxis()->SetBit(TAxis::kLabelsVert);
452 for(
int isec=1;isec<=12;isec++){
453 for(
int iphi=0;iphi<=3;iphi+=4){
454 if(ac==0||ac==1)sst <<
AC[ac];
455 if(isec<10)sst <<
"0";
456 sst << isec <<
"phi" << iphi;
457 ibin=(isec-1)*4+iphi+1;
458 h2->GetYaxis()->SetBinLabel(ibin, sst.str().c_str());
◆ lbAverageInteractionsPerCrossing()
float ManagedMonitorToolBase::lbAverageInteractionsPerCrossing |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average mu, i.e.
<mu>
Definition at line 1693 of file ManagedMonitorToolBase.cxx.
1698 return lumi->lbAverageInteractionsPerCrossing();
1701 ATH_MSG_DEBUG(
"Warning: lbAverageInteractionsPerCrossing() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbAverageLivefraction()
float ManagedMonitorToolBase::lbAverageLivefraction |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average luminosity livefraction.
Definition at line 1762 of file ManagedMonitorToolBase.cxx.
1770 return live->lbAverageLiveFraction();
1773 ATH_MSG_DEBUG(
"Warning: lbAverageLivefraction() - luminosity not availble (i.e. EnableLumi = False)");
◆ lbAverageLuminosity()
float ManagedMonitorToolBase::lbAverageLuminosity |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average luminosity (in ub-1 s-1 => 10^30 cm-2 s-1)
Definition at line 1729 of file ManagedMonitorToolBase.cxx.
1734 return lumi->lbAverageLuminosity();
1737 ATH_MSG_DEBUG(
"Warning: lbAverageLuminosity() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbDuration()
double ManagedMonitorToolBase::lbDuration |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Luminosity block time (in seconds)
Definition at line 1816 of file ManagedMonitorToolBase.cxx.
1824 return dur->lbDuration();
1827 ATH_MSG_DEBUG(
"Warning: lbDuration() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbInteractionsPerCrossing()
float ManagedMonitorToolBase::lbInteractionsPerCrossing |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Instantaneous number of interactions, i.e.
mu
Definition at line 1709 of file ManagedMonitorToolBase.cxx.
1714 float muToLumi =
lumi->muToLumi();
1716 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id()) / muToLumi;
1721 ATH_MSG_DEBUG(
"Warning: lbInteractionsPerCrossing() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbLuminosityPerBCID()
float ManagedMonitorToolBase::lbLuminosityPerBCID |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Instantaneous luminosity.
Definition at line 1745 of file ManagedMonitorToolBase.cxx.
1750 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id());
1753 ATH_MSG_DEBUG(
"Warning: lbLuminosityPerBCID() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ lbLumiWeight()
double ManagedMonitorToolBase::lbLumiWeight |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Average Integrated Luminosity Live Fraction.
Definition at line 1800 of file ManagedMonitorToolBase.cxx.
1807 ATH_MSG_DEBUG(
"Warning: lbLumiWeight() - luminosity tools are not retrieved or turned on (i.e. EnableLumi = False)");
◆ livefractionPerBCID()
float ManagedMonitorToolBase::livefractionPerBCID |
( |
const EventContext & |
ctx = Gaudi::Hive::currentContext() | ) |
const |
|
virtualinherited |
Livefraction per bunch crossing ID.
Definition at line 1781 of file ManagedMonitorToolBase.cxx.
1789 return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
1792 ATH_MSG_DEBUG(
"Warning: livefractionPerBCID() - luminosity retrieved available (i.e. EnableLumi = False)");
◆ maphists()
Definition at line 38 of file MdtVsTgcRawData_maptgchits.cxx.
46 for(; mdtseg_itr!=mdtseg_end; ++mdtseg_itr){
47 if(!(*mdtseg_itr)->muonSegment().isValid())
continue;
50 if (segm ==
nullptr) {
56 int nMdtMeas[4] = {0,0,0,0};
57 bool isMdt=
false, isEndcap=
false;
76 if(!isEndcap)
continue;
80 for(
int jMDT=0;jMDT<4;jMDT++){
86 if(nStations!=1)
continue;
90 int segmAC = (segmGlobalPos.z()<0);
93 for(
int jMDT=0;jMDT<4;jMDT++){
96 float segmGlobalEta = std::abs(segmGlobalPos.eta());
97 float segmGlobalPhi = segmGlobalPos.phi();
98 if(segmGlobalPhi<0) segmGlobalPhi+=2*
M_PI;
100 m_mdt_segmmap[segmAC][jMDT]->Fill(segmGlobalPhi, segmGlobalEta);
115 tgc_itc!= tgc_itc_end;
125 int tgcStationName =
m_idHelperSvc->tgcIdHelper().stationName(tgcid);
129 float tgcGlobalPhi = tgcGlobalPos.phi();
130 if(tgcGlobalPhi<0)tgcGlobalPhi+=2*
M_PI;
133 if(tgcStationName<41 || tgcStationName>48)
continue;
◆ maphistsfinalize()
void MdtVsTgcRawDataValAlg::maphistsfinalize |
( |
| ) |
|
|
private |
◆ MatchMDTSegments()
Definition at line 33 of file MdtVsTgcRawData_SegmMatching.cxx.
37 const float dRhoCutSegmentMatching = 1000;
38 const float dPhiCutSegmentMatching =
M_PI/8;
39 const float dPhiCutSegmentDirectionChecking[4][4]={{ 0,
M_PI/8, 0.1, 0.01},
41 { 0.06,
M_PI/8, 0, 0.01},
42 { 0.05,
M_PI/8, 0.05, 0}};
43 const float dTheCutSegmentDirectionChecking[4][4]={{ 0,
M_PI/8, 0.05, 0.06},
45 { 0.04,
M_PI/8, 0, 0.005},
46 { 0.02,
M_PI/8, 0.005, 0}};
49 bool skipSegm;
int nDisqualifiedSegm;
53 for(
int jMDT1=3;jMDT1>=0;jMDT1--){
55 int nSegm1=sortedSegments[
i][jMDT1].size();
58 for(
int n1=0;
n1<nSegm1;
n1++){
64 nDisqualifiedSegm=disqualifiedSegments[
i][jMDT1].size();
65 for(
int ndis=0;ndis<nDisqualifiedSegm;ndis++)
if(segm1==disqualifiedSegments[
i][jMDT1].at(ndis))skipSegm=
true;
71 float segm1PosPhi = segm1Pos.phi();
72 float segm1PosZ = segm1Pos.z();
73 if(segm1PosPhi<0)segm1PosPhi+=2*
M_PI;
77 float segm1DirThe = segm1Dir.theta();
78 float segm1DirPhi = segm1Dir.phi();
79 if(segm1DirThe>
M_PI/2) segm1DirThe=
M_PI-segm1DirThe;
80 if(segm1DirPhi<0) segm1DirPhi+=2*
M_PI;
83 bool stationMatchFound[4] = {
false,
false,
false,
false};
84 std::vector<const Muon::MuonSegment*> matchingSegments[4];
85 for(
int jMDT2=0;jMDT2<4;jMDT2++)matchingSegments[jMDT2] = std::vector<const Muon::MuonSegment*>();
86 matchingSegments[jMDT1].push_back(segm1);
89 for(
int jMDT2=3;jMDT2>=0;jMDT2--){
91 int nSegm2=sortedSegments[
i][jMDT2].size();
94 for(
int n2=0; n2<nSegm2;n2++){
97 if(segm1==segm2)
continue;
101 nDisqualifiedSegm=disqualifiedSegments[
i][jMDT2].size();
102 for(
int ndis=0;ndis<nDisqualifiedSegm;ndis++)
if(segm1==disqualifiedSegments[
i][jMDT2].at(ndis))skipSegm=
true;
103 if(skipSegm)
continue;
110 float segm2PosRho = std::abs(segm2Pos.perp());
111 float segm2PosPhi = segm2Pos.phi();
112 float segm2PosThe = segm2Pos.theta();
113 float segm2PosZ = segm2Pos.z();
114 if(segm2PosThe>
M_PI/2) segm2PosThe=
M_PI-segm2PosThe;
115 if(segm2PosPhi<0)segm2PosPhi+=2*
M_PI;
119 float dPhi_Segm1_Segm2 = segm1PosPhi-segm2PosPhi;
120 if(dPhi_Segm1_Segm2<-
M_PI)dPhi_Segm1_Segm2+=2*
M_PI;
121 if(dPhi_Segm1_Segm2>
M_PI)dPhi_Segm1_Segm2-=2*
M_PI;
122 if(std::abs(dPhi_Segm1_Segm2)>dPhiCutSegmentMatching)
continue;
125 float dZ = std::abs(segm2PosZ)-std::abs(segm1PosZ);
128 float extrPosRho = std::abs(extrPos.perp());
129 float extrPosThe = extrPos.theta();
130 float extrPosPhi = extrPos.phi();
131 if(extrPosThe>
M_PI/2) extrPosThe=
M_PI-extrPosThe;
132 if(extrPosPhi<0)extrPosPhi+=2*
M_PI;
135 float dRho_Extr_Segm2 = extrPosRho-segm2PosRho;
136 float dPhi_Extr_Segm2 = extrPosPhi-segm2PosPhi;
137 float dThe_Extr_Segm2 = extrPosThe-segm2PosThe;
138 if(dPhi_Extr_Segm2<-
M_PI)dPhi_Extr_Segm2+=2*
M_PI;
139 if(dPhi_Extr_Segm2>
M_PI)dPhi_Extr_Segm2-=2*
M_PI;
147 if(std::abs(dPhi_Extr_Segm2)>dPhiCutSegmentMatching)
continue;
148 if(std::abs(dRho_Extr_Segm2)>dRhoCutSegmentMatching)
continue;
156 float segm2DirThe = segm2Dir.theta();
157 float segm2DirPhi = segm2Dir.phi();
158 if(segm2DirThe>
M_PI/2) segm2DirThe=
M_PI-segm2DirThe;
159 if(segm2DirPhi<0) segm2DirPhi+=2*
M_PI;
166 if(jMDT2>jMDT1)segmVector = segm2Pos-segm1Pos;
167 else segmVector = segm1Pos-segm2Pos;
168 float segmVecThe = segmVector.theta();
169 float segmVecPhi = segmVector.phi();
170 if(segmVecThe>
M_PI/2) segmVecThe=
M_PI-segmVecThe;
171 if(segmVecPhi<0) segmVecPhi+=2*
M_PI;
174 float dThe_Vec_Segm1 = segmVecThe-segm1DirThe;
175 float dPhi_Vec_Segm1 = segmVecPhi-segm1DirPhi;
176 if(dPhi_Vec_Segm1<-
M_PI)dPhi_Vec_Segm1+=2*
M_PI;
177 if(dPhi_Vec_Segm1>
M_PI)dPhi_Vec_Segm1-=2*
M_PI;
178 float dThe_Vec_Segm2 = segmVecThe-segm2DirThe;
179 float dPhi_Vec_Segm2 = segmVecPhi-segm2DirPhi;
180 if(dPhi_Vec_Segm2<-
M_PI)dPhi_Vec_Segm2+=2*
M_PI;
181 if(dPhi_Vec_Segm2>
M_PI)dPhi_Vec_Segm2-=2*
M_PI;
190 else if(jMDT1<jMDT2){
198 float dTheDir_Segm1_Segm2 = segm1DirThe-segm2DirThe;
199 float dPhiDir_Segm1_Segm2 = segm1PosPhi-segm2PosPhi;
200 if(dPhiDir_Segm1_Segm2<-
M_PI)dPhiDir_Segm1_Segm2+=2*
M_PI;
201 if(dPhiDir_Segm1_Segm2>
M_PI)dPhiDir_Segm1_Segm2-=2*
M_PI;
205 if(dPhi_Vec_Segm1>dPhiCutSegmentDirectionChecking[jMDT1][jMDT2] ||
206 dThe_Vec_Segm1>dTheCutSegmentDirectionChecking[jMDT1][jMDT2] ||
207 dPhi_Vec_Segm2>dPhiCutSegmentDirectionChecking[jMDT2][jMDT1] ||
208 dThe_Vec_Segm2>dTheCutSegmentDirectionChecking[jMDT2][jMDT1])
continue;
211 matchingSegments[jMDT2].push_back(segm2);
214 if(matchingSegments[jMDT2].
size()==1){
215 stationMatchFound[jMDT2]=
true;
224 for(
int jMDT2=0;jMDT2<4;jMDT2++){
225 if(stationMatchFound[jMDT2]){
226 segmArray[jMDT2]=matchingSegments[jMDT2].at(0);
228 disqualifiedSegments[
i][jMDT2].push_back(matchingSegments[jMDT2].at(0));
232 matchedSegments[
i].push_back(newTrack);
◆ MidstationOnlyCheck()
Definition at line 34 of file MdtVsTgcRawData_MidstationMatching.cxx.
39 const float dRhoCutSegmentMatching = 1000;
40 const float dPhiCutSegmentMatching =
M_PI/8;
43 const int nMeasCutMdtMidstation = 5;
44 const int nMeasCutTGCMidPRD[2] = {2,2};
47 const float dPhiCut_Loose =
M_PI/8;
49 const float dPhiCutGlobal[2] = {
static_cast<float>(
M_PI/24),
static_cast<float>(
M_PI/12)};
50 const float dRhoCutGlobal[2] = { 0.08, 0.5};
52 const float dPhiCutSector[2] = { 0.2, 0.1};
53 const float dRhoCutSector[2] = { 300, 3000};
55 const float dPhiCutTPD[2] = { 0.15, 0.02};
56 const float dRhoCutTPD[2] = { 150, 3000};
61 int nValidatedSegm = 0;
66 bool canCheckSectorFill[4] = {0, 0, 0, 0};
71 int TGCstation_StationFEFill[4] = {-1,-1,-1,-1};
72 int TGCstation_StationEtaFill[4] = { 0, 0, 0, 0};
73 int TGCstation_StationPhiFill[4] = { 0, 0, 0, 0};
76 bool sectorhitregisteredFill[9][2] = {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}};
78 bool skipSegm;
int nDisqualifiedSegm;
81 std::vector<const Muon::MuonSegment*> copyDisqualifiedSegments;
82 nDisqualifiedSegm=disqualifiedSegments[
i][2].size();
83 copyDisqualifiedSegments.reserve(nDisqualifiedSegm);
84 for(
int ndis=0;ndis<nDisqualifiedSegm;ndis++)copyDisqualifiedSegments.push_back(disqualifiedSegments[
i][2].at(ndis));
88 int nSegm = sortedSegments[
i][2].size();
89 for(
int n0=0; n0<nSegm;n0++){
95 nDisqualifiedSegm=copyDisqualifiedSegments.size();
96 for(
int ndis=0;ndis<nDisqualifiedSegm;ndis++)
if(segm0==copyDisqualifiedSegments.at(ndis))skipSegm=
true;
112 if(nMdtMeas<nMeasCutMdtMidstation){
113 copyDisqualifiedSegments.push_back(segm0);
118 for(
int n1=0;
n1<nSegm;
n1++){
126 nDisqualifiedSegm=copyDisqualifiedSegments.size();
127 for(
int ndis=0;ndis<nDisqualifiedSegm;ndis++)
if(segm1==copyDisqualifiedSegments.at(ndis))skipSegm=
true;
128 if(skipSegm)
continue;
131 bool failedGroupingCut =
false;
133 bool canCheckGlobal[4] = {
true,
true,
true,
false};
134 bool canCheckSector[4] = {
true,
true,
true,
false};
140 float segm1PosPhi = segm1Pos.phi();
141 float segm1PosThe = segm1Pos.theta();
142 float segm1PosZ = segm1Pos.z();
143 if(segm1PosPhi<0)segm1PosPhi+=2*
M_PI;
144 if(segm1PosThe>
M_PI/2) segm1PosThe=
M_PI-segm1PosThe;
151 int nTGCStrips[4] = { 0, 0, 0, 0};
167 if((nTGCStrips[1]==0)&&(nTGCStrips[2]==0)){canCheckSector[0]=
false;canCheckGlobal[0]=
false;}
168 if((nTGCStrips[0]==0)&&(nTGCStrips[2]==0)){canCheckSector[1]=
false;canCheckGlobal[1]=
false;}
169 if((nTGCStrips[0]==0)&&(nTGCStrips[1]==0)){canCheckSector[2]=
false;canCheckGlobal[2]=
false;}
175 for(
int n2=0; n2<nSegm;n2++){
182 nDisqualifiedSegm=disqualifiedSegments[
i][2].size();
183 for(
int ndis=0;ndis<nDisqualifiedSegm;ndis++)
if(segm1==disqualifiedSegments[
i][2].at(ndis))skipSegm=
true;
184 if(skipSegm)
continue;
188 float segm2PosRho = std::abs(segm2Pos.perp());
189 float segm2PosPhi = segm2Pos.phi();
190 float segm2PosZ = segm2Pos.z();
191 if(segm2PosPhi<0)segm2PosPhi+=2*
M_PI;
195 float dPhi_Segm1_Segm2 = segm1PosPhi-segm2PosPhi;
196 if(dPhi_Segm1_Segm2<-
M_PI)dPhi_Segm1_Segm2+=2*
M_PI;
197 if(dPhi_Segm1_Segm2>
M_PI)dPhi_Segm1_Segm2-=2*
M_PI;
198 if(std::abs(dPhi_Segm1_Segm2)<dPhiCutSegmentMatching){
199 failedGroupingCut=
true;
204 float dZ = std::abs(segm2PosZ)-std::abs(segm1PosZ);
206 float extrPosRho = std::abs(extrPos.perp());
207 float extrPosThe = extrPos.theta();
208 float extrPosPhi = extrPos.phi();
209 if(extrPosThe>
M_PI/2) extrPosThe=
M_PI-extrPosThe;
210 if(extrPosPhi<0)extrPosPhi+=2*
M_PI;
213 float dRho_Extr_Segm2 = extrPosRho-segm2PosRho;
214 float dPhi_Extr_Segm2 = extrPosPhi-segm2PosPhi;
215 if(dPhi_Extr_Segm2<-
M_PI)dPhi_Extr_Segm2+=2*
M_PI;
216 if(dPhi_Extr_Segm2>
M_PI)dPhi_Extr_Segm2-=2*
M_PI;
219 if((std::abs(dPhi_Extr_Segm2)<dPhiCutSegmentMatching)||
220 (std::abs(dRho_Extr_Segm2)<dRhoCutSegmentMatching)){
221 failedGroupingCut=
true;
225 if(failedGroupingCut)
continue;
230 int TGCStationNames[8] ={41, 42, 43, 44, 45, 46, 47, 48};
231 int TGCstation_StationFE[4] ={-1,-1,-1,-1};
232 int TGCstation_StationEta[4]={ 0, 0, 0, 0};
233 int TGCstation_StationPhi[4]={ 0, 0, 0, 0};
234 int nStationMatch[4] ={ 0, 0, 0, 0};
237 for(
int stationnameindex=0; stationnameindex<6; stationnameindex++){
239 int stationName = TGCStationNames[stationnameindex];
243 for(
int stationeta=1; stationeta<=8; stationeta++){
244 for(
int stationphi=1; stationphi<=48; stationphi++){
246 if(
m_TREarray[stationnameindex][
i][stationeta][stationphi]==
nullptr)
continue;
251 float dZ_sector=std::abs(sectorZ)-std::abs(segm1PosZ);
253 Amg::Vector3D sectorExtrapolatedPos = segm1Pos+(segm1PosZunit*dZ_sector);
260 Amg::Vector2D sectorLocalPos2D(sectorLocalPos3D.y(),sectorLocalPos3D.z());
267 double tol1=-0.1*(avWidth/2);
268 double tol2=-0.1*(
length/2);
270 bool insideSectorBounds=tre->
bounds().
inside(sectorLocalPos2D,tol1,tol2);
271 if(!insideSectorBounds)
continue;
273 if(stationIndex<0)
continue;
274 TGCstation_StationFE[stationIndex]= (tre->
isForward()==
false);
275 TGCstation_StationEta[stationIndex]=stationeta;
276 TGCstation_StationPhi[stationIndex]=stationphi;
277 nStationMatch[stationIndex]++;
283 for(
int jTGC=0;jTGC<4;jTGC++){
284 if(nStationMatch[jTGC]==0){
285 canCheckSector[jTGC]=
false;
287 else if(nStationMatch[jTGC]>1){
288 canCheckSector[jTGC]=
false;
296 if((!canCheckGlobal[0])&&(!canCheckGlobal[1])&&(!canCheckGlobal[2])&&(!canCheckGlobal[3]))
continue;
300 bool sectorhitregistered[9][2] = {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}};
301 std::vector<const Muon::TgcPrepData*> tpdVector[2];
312 prepitc!= prepitc_end;
321 int tgcAC=(tre->
sideA()==
false);
330 if(tgcAC!=
i)
continue;
336 if(stationIndex==3)
continue;
340 float tgcRho = std::abs(prdPos.perp());
341 float tgcPhi = prdPos.phi();
342 float tgcZ = prdPos.z();
343 if(tgcPhi<0)tgcPhi+=2*
M_PI;
346 float dZ = std::abs(tgcZ) - std::abs(segm1PosZ);
347 Amg::Vector3D tgcExtrapolatedPos = ((segm1Pos)+((segm1PosZunit)*dZ));
350 float tgcExtrRho = std::abs(tgcExtrapolatedPos.perp());
351 float tgcExtrPhi = tgcExtrapolatedPos.phi();
352 if(tgcExtrPhi<0)tgcExtrPhi+=2*
M_PI;
355 float dRho = tgcRho-tgcExtrRho;
356 float dPhi = tgcPhi-tgcExtrPhi;
361 if(std::abs(
dPhi)<dPhiCut_Loose){
367 if(canCheckGlobal[stationIndex]){
368 float dRhoCut = dRhoCutGlobal[tgcWS]*tgcExtrRho;
369 if(std::abs(
dPhi)<dPhiCutGlobal[tgcWS] && std::abs(dRho)<dRhoCut){
374 if(std::abs(
dPhi)<dPhiCutSector[tgcWS] && std::abs(dRho)<dRhoCutSector[tgcWS]){
375 tpdVector[tgcWS].push_back(tpd);
378 if(canCheckSector[stationIndex]){
380 if((
stationEta==TGCstation_StationEta[stationIndex])&&
381 (
stationPhi==TGCstation_StationPhi[stationIndex])&&
382 (tgcFE==TGCstation_StationFE[stationIndex])){
384 if(std::abs(
dPhi)<dPhiCutSector[tgcWS] && std::abs(dRho)<dRhoCutSector[tgcWS]){
385 if(
layer>=0)sectorhitregistered[
layer][tgcWS]=
true;
395 if((!canCheckGlobal[0])&&(!canCheckGlobal[1])&&(!canCheckGlobal[2])&&(!canCheckGlobal[3]))
continue;
401 std::vector<const Muon::TgcPrepData*> *bestTPDmatches[2];
402 bestTPDmatches[0] =
nullptr;
403 bestTPDmatches[1] =
nullptr;
404 if(bestTPDmatches[0]->
size()>0) bestTPDmatches[0]->clear();
405 if(bestTPDmatches[1]->
size()>0) bestTPDmatches[1]->clear();
406 int bestTPDlayerMatches[2][9] = {{0,0,0,0,0,0,0,0,0},
407 {0,0,0,0,0,0,0,0,0}};
409 for(
int k=0;
k<2;
k++){
415 int nTPD = tpdVector[
k].size();
416 for(
int iTPD1=0;iTPD1<nTPD;iTPD1++){
418 std::vector<const Muon::TgcPrepData*> thisTPDmatches;
419 int thisTPDlayerMatches[9] = {0,0,0,0,0,0,0,0,0};
422 const Amg::Vector3D prdPos1 = tpdVector[
k].at(iTPD1)->globalPosition();
424 float prd1Phi = prdPos1.phi();
425 float prd1Z = prdPos1.z();
426 if(prd1Phi<0)prd1Phi+=2*
M_PI;
431 int stationName1 =
m_idHelperSvc->tgcIdHelper().stationName(tgcid1);
434 if(layer1>=0)thisTPDlayerMatches[layer1]++;
437 for(
int iTPD2=0;iTPD2<nTPD;iTPD2++){
438 if(iTPD2==iTPD1)
continue;
441 const Amg::Vector3D prdPos2 = tpdVector[
k].at(iTPD2)->globalPosition();
442 float prd2Rho = std::abs(prdPos2.perp());
443 float prd2Phi = prdPos2.phi();
444 float prd2Z = prdPos2.z();
445 if(prd2Phi<0)prd2Phi+=2*
M_PI;
448 float dZ = std::abs(prd2Z)- std::abs(prd1Z);
452 float prdExtrRho = std::abs(prdExtrPos.perp());
453 float prdExtrPhi = prdExtrPos.phi();
454 if(prdExtrPhi<0)prdExtrPhi+=2*
M_PI;
457 float dRho = prd2Rho-prdExtrRho;
458 float dPhi = prd2Phi-prdExtrPhi;
467 if(std::abs(
dPhi)<dPhiCutTPD[
k] && std::abs(dRho)<dRhoCutTPD[
k]){
470 int stationName2 =
m_idHelperSvc->tgcIdHelper().stationName(tgcid2);
475 if(layer2>=0)thisTPDlayerMatches[layer2]++;
476 thisTPDmatches.push_back(tpdVector[
k].at(iTPD2));
482 int nlayerCurrent = 0;
483 for(
int l=0;
l<9;
l++){
484 if(thisTPDlayerMatches[
l]>0)nlayerCurrent++;
485 nPRDCurrent+=thisTPDlayerMatches[
l];
489 if(nlayerMax <= nlayerCurrent){
490 if(nPRDMax < nPRDCurrent){
492 nlayerMax = nlayerCurrent;
493 nPRDMax = nPRDCurrent;
494 bestTPDmatches[
k] = &thisTPDmatches;
495 for(
int l=0;
l<9;
l++){
496 bestTPDlayerMatches[
k][
l] = thisTPDlayerMatches[
l];
503 if(nlayerMax==0)
continue;
504 if(bestTPDmatches[
k]->
size()==0){
510 for(
int jTGC1=0;jTGC1<3;jTGC1++){
513 for(
int l=0;
l<9;
l++){
515 if(jTGC1==jTGC2)
continue;
516 nMatchOther+=bestTPDlayerMatches[
k][
l];
520 if(nMatchOther<nMeasCutTGCMidPRD[
k]){
521 canCheckGlobal[jTGC1]=
false;
522 canCheckSector[jTGC1]=
false;
528 if((!canCheckGlobal[0])&&(!canCheckGlobal[1])&&(!canCheckGlobal[2])&&(!canCheckGlobal[3]))
continue;
532 if(nValidatedSegm==0){
533 for(
int jTGC=0;jTGC<4;jTGC++){
539 canCheckSectorFill[jTGC] = canCheckSector[jTGC];
541 TGCstation_StationFEFill[jTGC] = TGCstation_StationFE[jTGC];
542 TGCstation_StationEtaFill[jTGC] = TGCstation_StationEta[jTGC];
543 TGCstation_StationPhiFill[jTGC] = TGCstation_StationPhi[jTGC];
545 for(
int l=0;
l<9;
l++){
546 for(
int k=0;
k<2;
k++){
547 sectorhitregisteredFill[
l][
k] = sectorhitregistered[
l][
k];
556 if(nValidatedSegm==1){
557 for(
int l=0;
l<9;
l++){
559 for(
int k=0;
k<2;
k++){
561 if(canCheckSectorFill[stationIndex]){
562 if((TGCstation_StationFEFill[stationIndex]<0)||(TGCstation_StationEtaFill[stationIndex]==0)||(TGCstation_StationPhiFill[stationIndex]==0)){
563 ATH_MSG_WARNING(
"MidstationOnly: canCheckSector passed for jTGC=" << stationIndex
564 <<
" but, FE="<<TGCstation_StationFEFill[stationIndex]
565 <<
" Eta="<<TGCstation_StationEtaFill[stationIndex]
566 <<
" Phi=" << TGCstation_StationPhiFill[stationIndex] );
570 int stationMap_EtaIndex=
getStationMapIndex(1,
l, TGCstation_StationFEFill[stationIndex], TGCstation_StationEtaFill[stationIndex], TGCstation_StationPhiFill[stationIndex]);
571 int stationMap_PhiIndex=
getStationMapIndex(2,
l, TGCstation_StationFEFill[stationIndex], TGCstation_StationEtaFill[stationIndex], TGCstation_StationPhiFill[stationIndex]);
574 if(sectorhitregisteredFill[
l][
k]){
◆ MMTB_DEPRECATED() [1/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
endOfEventsBlock |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [2/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
endOfLowStat |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [3/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
endOfLumiBlock |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [4/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
endOfRun |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [5/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newEventsBlock |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [6/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newHigStatInterval |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [7/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newLowStat |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [8/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newLowStatInterval |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [9/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newLumiBlock |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [10/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newMedStatInterval |
| ) |
|
|
inherited |
◆ MMTB_DEPRECATED() [11/11]
ManagedMonitorToolBase::MMTB_DEPRECATED |
( |
newRun |
| ) |
|
|
inherited |
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ newEventsBlockFlag()
bool ManagedMonitorToolBase::newEventsBlockFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newHigStatIntervalFlag()
bool ManagedMonitorToolBase::newHigStatIntervalFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newLowStatFlag()
bool ManagedMonitorToolBase::newLowStatFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newLowStatIntervalFlag()
bool ManagedMonitorToolBase::newLowStatIntervalFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newLumiBlockFlag()
bool ManagedMonitorToolBase::newLumiBlockFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newMedStatIntervalFlag()
bool ManagedMonitorToolBase::newMedStatIntervalFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ newRunFlag()
bool ManagedMonitorToolBase::newRunFlag |
( |
| ) |
const |
|
inlineprotectedinherited |
◆ numberOfSL()
◆ outputHandles()
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
◆ parseList()
StatusCode ManagedMonitorToolBase::parseList |
( |
const std::string & |
line, |
|
|
std::vector< std::string > & |
result |
|
) |
| |
|
protectedinherited |
◆ phi2sector()
int MdtVsTgcRawDataValAlg::phi2sector |
( |
int |
phi, |
|
|
int |
ef |
|
) |
| |
|
private |
◆ prepareTREarray()
Definition at line 86 of file MdtVsTgcRawData_TGCEffCheck.cxx.
87 int TGCStationNames[8]={41, 42, 43, 44, 45, 46, 47, 48};
90 for(
int stationNameIndex=0; stationNameIndex<8; stationNameIndex++){
91 int stationName = TGCStationNames[stationNameIndex];
106 if(stationNameIndex==6){
110 else if(stationNameIndex==7){
114 else if((stationNameIndex==0)||
115 (stationNameIndex==2)||
116 (stationNameIndex==4)){
122 if((stationNameIndex==1)&&
134 ATH_MSG_WARNING(
"prepareTREarray: TgcReadoutElement==0 passed checks" );
◆ preSelector()
bool ManagedMonitorToolBase::preSelector |
( |
| ) |
|
|
virtualinherited |
◆ procHistograms()
StatusCode MdtVsTgcRawDataValAlg::procHistograms |
( |
| ) |
|
|
virtual |
◆ putBox()
void MdtVsTgcRawDataValAlg::putBox |
( |
TH2 * |
h2, |
|
|
float |
x1, |
|
|
float |
y1, |
|
|
float |
x2, |
|
|
float |
y2 |
|
) |
| |
|
private |
◆ regEfficiency()
StatusCode ManagedMonitorToolBase::regEfficiency |
( |
TEfficiency * |
e, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Registers a TEfficiency to be included in the output stream using logical parameters that describe the plot.
Definition at line 1446 of file ManagedMonitorToolBase.cxx.
1448 return StatusCode::FAILURE;
1450 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1451 std::string
name =
e->GetName();
1457 ATH_MSG_WARNING(
"HEY! Attempting to register "<<
name<<
" as a per-LB histogram, but not setting the merge algorithm! Use \"merge\", at least.");
1464 return StatusCode::FAILURE;
1474 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1481 if (
smd != StatusCode::SUCCESS)
1482 return StatusCode::FAILURE;
◆ regGraph() [1/2]
StatusCode ManagedMonitorToolBase::regGraph |
( |
TGraph * |
g, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Registers a TGraph to be included in the output stream using logical parameters that describe the graph.
Definition at line 1500 of file ManagedMonitorToolBase.cxx.
1504 return StatusCode::FAILURE;
1517 return StatusCode::FAILURE;
1520 std::string
name =
g->GetName();
1528 std::string gName =
g->GetName();
1531 std::string genericName = NoOutputStream().getStreamName(
this,
group, gName );
1539 if (
smd != StatusCode::SUCCESS)
return StatusCode::FAILURE;
◆ regGraph() [2/2]
Registers a TGraph to be included in the output stream using logical parameters that describe the graph.
Definition at line 1490 of file ManagedMonitorToolBase.cxx.
◆ regHist() [1/2]
StatusCode ManagedMonitorToolBase::regHist |
( |
TH1 * |
h, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram.
A histogram is passed via reference to a pointer.
Definition at line 1354 of file ManagedMonitorToolBase.cxx.
1360 return StatusCode::FAILURE;
1373 ATH_MSG_WARNING(
"HEY! You're attempting to register " <<
h->GetName() <<
" as a per-LB histogram, but you're not setting the merge algorithm! This is a SUPER-BAD idea! Use \"merge\", at least.");
1380 return StatusCode::FAILURE;
1383 std::string hName =
h->GetName();
1391 std::string hName =
h->GetName();
1394 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1402 if (
smd != StatusCode::SUCCESS)
return StatusCode::FAILURE;
◆ regHist() [2/2]
Registers a TH1 (including TH2, TH3, and TProfile) to be included in the output stream using logical parameters that describe the histogram.
Definition at line 1345 of file ManagedMonitorToolBase.cxx.
◆ registerMetadata()
StatusCode ManagedMonitorToolBase::registerMetadata |
( |
const std::string & |
streamName, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
protectedinherited |
Definition at line 946 of file ManagedMonitorToolBase.cxx.
952 size_t found=mdStreamName.rfind(
'/');
954 if (
found != std::string::npos )
955 mdStreamName.replace(
found, mdStreamName.length(),
"/metadata" );
959 metadata =
new TTree(
"metadata",
"Monitoring Metadata" );
960 if (!
metadata)
return StatusCode::FAILURE;
962 if (scmd == StatusCode::FAILURE)
return StatusCode::FAILURE;
963 MDMap_t::value_type valToInsert( mdStreamName,
new OutputMetadata(
metadata) );
969 return StatusCode::SUCCESS;
◆ regManagedEfficiencies()
StatusCode ManagedMonitorToolBase::regManagedEfficiencies |
( |
std::vector< MgmtParams< TEfficiency > > & |
templateEfficiencies | ) |
|
|
protectedinherited |
Definition at line 1141 of file ManagedMonitorToolBase.cxx.
1142 bool allIsOk =
true;
1143 for(
auto&
it : templateEfficiencies ) {
1146 TEfficiency* theEfficiency =
it.m_templateHist;
1147 TEfficiency*
e =
static_cast<TEfficiency*
>(theEfficiency->Clone());
1148 int nbins = theEfficiency->GetTotalHistogram()->GetNbinsX();
1149 int xlow = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmin();
1150 int xhigh = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmax();
1151 e->SetBins(
nbins,xlow,xhigh);
1152 std::string
name =
e->GetName();
1155 TGraph* theGraph =
reinterpret_cast<TGraph*
>(theEfficiency);
1156 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1164 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1166 bool doneCleaning =
false;
1168 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1173 if (sc2 == StatusCode::SUCCESS) doneCleaning =
true;
1176 if (!doneCleaning) {
1177 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1182 if (sc3 == StatusCode::FAILURE)
1189 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1192 if (sc4 == StatusCode::FAILURE) allIsOk =
false;
1195 if (!allIsOk)
return StatusCode::FAILURE;
1196 return StatusCode::SUCCESS;
◆ regManagedGraphs()
StatusCode ManagedMonitorToolBase::regManagedGraphs |
( |
std::vector< MgmtParams< TGraph > > & |
templateGraphs | ) |
|
|
protectedinherited |
Definition at line 1070 of file ManagedMonitorToolBase.cxx.
1074 bool allIsOk =
true;
1076 for( std::vector< MgmtParams<TGraph> >::
iterator it = templateGraphs.begin();
it != templateGraphs.end(); ++
it ) {
1077 MonGroup
group = (*it).m_group;
1080 TGraph* theGraph = (*it).m_templateHist;
1083 TGraph*
g =
static_cast<TGraph*
>(theGraph->Clone());
1087 std::string gName =
g->GetName();
1094 if (sc1 == StatusCode::FAILURE)
1099 bool doneCleaning =
false;
1101 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1106 if (sc2 == StatusCode::SUCCESS)
1107 doneCleaning =
true;
1111 if (!doneCleaning) {
1112 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1119 if (sc3 == StatusCode::FAILURE)
1126 if (
smd != StatusCode::SUCCESS)
1131 if (sc4 == StatusCode::FAILURE)
1136 if (!allIsOk)
return StatusCode::FAILURE;
1138 return StatusCode::SUCCESS;
◆ regManagedHistograms()
StatusCode ManagedMonitorToolBase::regManagedHistograms |
( |
std::vector< MgmtParams< TH1 > > & |
templateHistograms | ) |
|
|
protectedinherited |
Definition at line 973 of file ManagedMonitorToolBase.cxx.
990 for( std::vector< MgmtParams<TH1> >::
iterator it = templateHistograms.begin();
it != templateHistograms.end(); ++
it ) {
991 MonGroup&
group = (*it).m_group;
994 TH1* theHist = (*it).m_templateHist;
997 TH1*
h =
static_cast<TH1*
>(theHist->Clone());
1001 std::string hName =
h->GetName();
1008 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1012 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1015 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1024 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1028 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1032 if (!allIsOk)
return StatusCode::FAILURE;
1034 return StatusCode::SUCCESS;
◆ regManagedTrees()
StatusCode ManagedMonitorToolBase::regManagedTrees |
( |
std::vector< MgmtParams< TTree > > & |
templateTrees | ) |
|
|
protectedinherited |
Definition at line 1201 of file ManagedMonitorToolBase.cxx.
1205 bool allIsOk =
true;
1207 for( std::vector< MgmtParams<TTree> >::
iterator it = templateTrees.begin();
it != templateTrees.end(); ++
it ) {
1208 MonGroup
group = (*it).m_group;
1211 TTree* theTree = (*it).m_templateHist;
1214 TTree*
t =
static_cast<TTree*
>(theTree->Clone());
1218 std::string
name =
t->GetName();
1225 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1229 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1232 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1241 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1245 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1249 if (!allIsOk)
return StatusCode::FAILURE;
1251 return StatusCode::SUCCESS;
◆ regTree() [1/2]
StatusCode ManagedMonitorToolBase::regTree |
( |
TTree * |
t, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Registers a TTree to be included in the output stream using logical parameters that describe it.
Definition at line 1556 of file ManagedMonitorToolBase.cxx.
1571 return StatusCode::FAILURE;
1574 std::string
name =
t->GetName();
1575 std::string genericName = NoOutputStream().getStreamName(
this, group_unmanaged,
name );
1583 std::string tName =
t->GetName();
1586 std::string genericName = NoOutputStream().getStreamName(
this,
group, tName );
1594 if (
smd != StatusCode::SUCCESS)
return StatusCode::FAILURE;
◆ regTree() [2/2]
Registers a TTree to be included in the output stream using logical parameters that describe it.
Definition at line 1546 of file ManagedMonitorToolBase.cxx.
◆ renounce()
◆ renounceArray()
◆ roi2etaphi()
◆ roiphi2mdtSector()
int MdtVsTgcRawDataValAlg::roiphi2mdtSector |
( |
int |
roiphi, |
|
|
int |
ef |
|
) |
| |
|
private |
◆ roitotalphi2sectorphi()
int MdtVsTgcRawDataValAlg::roitotalphi2sectorphi |
( |
int |
phi | ) |
|
|
private |
◆ runStat()
StatusCode ManagedMonitorToolBase::runStat |
( |
| ) |
|
|
virtualinherited |
This implementation does nothing; equivalent functionality may be provided by procHists( true, true, true ).
Implements IMonitorToolBase.
Definition at line 1663 of file ManagedMonitorToolBase.cxx.
1666 return StatusCode::SUCCESS;
◆ setMonManager()
◆ setupOutputStreams()
StatusCode ManagedMonitorToolBase::setupOutputStreams |
( |
std::vector< std::string > |
Mapping = std::vector<std::string>() | ) |
|
|
virtualinherited |
◆ SortMDTSegments()
Definition at line 29 of file MdtVsTgcRawData_SegmSorting.cxx.
35 for(; mdtseg_itr!=mdtseg_end; ++mdtseg_itr){
36 if(!(*mdtseg_itr)->muonSegment().isValid())
continue;
39 if (segm ==
nullptr) {
44 bool isMdt=
false, isEndcap=
false;
45 int nMdtMeas[4]={0,0,0,0};
70 if(!isMdt||!isEndcap)
continue;
76 int nMDTStations=0;
int MDTStationj=-1;
77 for(
int jMDT=0;jMDT<4;jMDT++){
78 if(nMdtMeas[jMDT]!=0){
85 if((segmAC==0)&&(MDTStationj==0)&&
92 sortedSegments[segmAC][MDTStationj].push_back(segm);
◆ stationGasGap2layer()
int MdtVsTgcRawDataValAlg::stationGasGap2layer |
( |
int |
station, |
|
|
int |
GasGap |
|
) |
| |
|
private |
Definition at line 114 of file MdtVsTgcRawData_functions.cxx.
116 if(station==41||station==42){
118 }
else if(station==43||station==44){
120 }
else if(station==45||station==46){
◆ streamNameFunction()
Returns the function object that converts logical paramters into a physical stream name.
Definition at line 451 of file ManagedMonitorToolBase.cxx.
455 msg(MSG::ERROR) <<
"!! streamNameFunction() has not been initialized !!" <<
endmsg;
456 msg(MSG::ERROR) <<
" --> neither ManagedMonitorToolBase::initialize() nor" <<
endmsg;
457 msg(MSG::ERROR) <<
" --> ManagedMonitorToolBase::setMonManager() has been called." <<
endmsg;
458 msg(MSG::ERROR) <<
" --> Correct configuration cannot be guaranteed from this point." <<
endmsg;
◆ sysInitialize()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ tgceffcalc()
Definition at line 36 of file MdtVsTgcRawData_TGCEffCheck.cxx.
43 std::vector<const Muon::MuonSegment*> sortedSegments[2][4];
46 std::vector<const Muon::MuonSegment*> DQdisqualifiedSegments[2][4];
47 std::vector<const Muon::MuonSegment*> MATCHdisqualifiedSegments[2][4];
50 std::vector<SegmTrack> matchedSegments[2];
61 for(
int jMDT=0;jMDT<4;jMDT++){
62 MATCHdisqualifiedSegments[
i][jMDT] = DQdisqualifiedSegments[
i][jMDT];
70 MatchMDTSegments(sortedSegments, MATCHdisqualifiedSegments, matchedSegments);
◆ tgceffcalcfinalize()
void MdtVsTgcRawDataValAlg::tgceffcalcfinalize |
( |
| ) |
|
|
private |
Definition at line 145 of file MdtVsTgcRawData_TGCEffCheck.cxx.
146 int beff, bdenom, berror;
148 for(
int i=0;
i<2;
i++){
150 for(
int k=0;
k<2;
k++){
152 for(
int e=1;
e<3;
e++){
159 const int nhtypes = 3;
164 for(
int h=0;
h<nhtypes;
h++){
166 histarray[
h][0]->Divide(histarray[
h][1], histarray[
h][2]);
169 int nX=histarray[
h][3]->GetNbinsX();
170 int nY=histarray[
h][3]->GetNbinsY();
171 for(
int x=1;
x<=nX;
x++){
172 for(
int y=1;
y<=nY;
y++){
173 beff =histarray[
h][0]->GetBin(
x,
y);
174 bdenom=histarray[
h][2]->GetBin(
x,
y);
175 berror=histarray[
h][3]->GetBin(
x,
y);
177 feff =histarray[
h][0]->GetBinContent(beff);
178 fdenom=histarray[
h][2]->GetBinContent(bdenom);
182 result=sqrt(feff*(1-feff)/fdenom);
184 histarray[
h][3]->SetBinContent(berror,
result);
◆ TGCgetlayer()
int MdtVsTgcRawDataValAlg::TGCgetlayer |
( |
int |
stationName, |
|
|
int |
g |
|
) |
| |
|
private |
◆ TGClayer2stationindex()
int MdtVsTgcRawDataValAlg::TGClayer2stationindex |
( |
int |
l | ) |
|
|
private |
◆ TGCstationname2stationindex()
int MdtVsTgcRawDataValAlg::TGCstationname2stationindex |
( |
int |
stationName | ) |
|
|
private |
◆ THistSvc_deReg_fixTGraph()
StatusCode ManagedMonitorToolBase::THistSvc_deReg_fixTGraph |
( |
TFile * |
file, |
|
|
TGraph * |
theGraph, |
|
|
std::string & |
directoryName |
|
) |
| |
|
protectedinherited |
Fixes THistSvc->deReg(obj) when obj is TGraph instance.
Read more in source file about this bug.
Definition at line 1038 of file ManagedMonitorToolBase.cxx.
1048 GlobalDirectoryRestore restore;
1051 bool graphRemoved =
false;
1054 TDirectory*
dir =
file->GetDirectory(directoryName.c_str());
1057 TObject*
obj =
dir->Remove(theGraph);
1059 graphRemoved =
true;
1062 if (!graphRemoved) {
1063 return StatusCode::FAILURE;
1066 return StatusCode::SUCCESS;
◆ trigChainsArePassed()
bool ManagedMonitorToolBase::trigChainsArePassed |
( |
std::vector< std::string > & |
vTrigNames | ) |
|
|
protectedvirtualinherited |
◆ updateTriggersForGroups()
void ManagedMonitorToolBase::updateTriggersForGroups |
( |
std::vector< std::string > & |
vTrigChainNames | ) |
|
|
protectedinherited |
Definition at line 2132 of file ManagedMonitorToolBase.cxx.
2134 for (
size_t i = 0;
i < vTrigChainNames.size(); ++
i) {
2135 std::string& thisName = vTrigChainNames[
i];
2136 if (thisName.compare(0, 9,
"CATEGORY_") ==0) {
2137 ATH_MSG_DEBUG(
"Found a trigger category: " << thisName <<
". We will unpack it.");
2139 std::ostringstream oss;
2141 for (
size_t itrig = 0; itrig <
triggers.size(); ++itrig) {
2149 std::string newval = oss.str();
2151 vTrigChainNames[
i] = newval;
◆ updateVHKA()
◆ writeAndDelete()
StatusCode ManagedMonitorToolBase::writeAndDelete |
( |
TH1 * |
h, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Write out histogram and delete it.
Definition at line 1601 of file ManagedMonitorToolBase.cxx.
1604 return StatusCode::FAILURE;
1606 std::string hName =
h->GetName();
1609 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1612 return StatusCode::SUCCESS;
◆ m_bookHistogramsInitial
bool ManagedMonitorToolBase::m_bookHistogramsInitial |
|
privateinherited |
◆ m_chamberName
std::string MdtVsTgcRawDataValAlg::m_chamberName |
|
private |
◆ m_checkCabling
bool MdtVsTgcRawDataValAlg::m_checkCabling |
|
private |
◆ m_cosmicStation
int MdtVsTgcRawDataValAlg::m_cosmicStation |
|
private |
◆ m_d
Imp* ManagedMonitorToolBase::m_d |
|
privateinherited |
◆ m_dataType
◆ m_dataTypeStr
std::string ManagedMonitorToolBase::m_dataTypeStr |
|
protectedinherited |
◆ m_defaultLBDuration
float ManagedMonitorToolBase::m_defaultLBDuration |
|
privateinherited |
◆ m_detailLevel
unsigned int ManagedMonitorToolBase::m_detailLevel |
|
protectedinherited |
◆ m_DetectorManagerKey
Initial value:{this, "DetectorManagerKey",
"MuonDetectorManager",
"Key of input MuonDetectorManager condition data"}
Definition at line 66 of file MdtVsTgcRawDataValAlg.h.
◆ m_detStore
◆ m_DQFilterTools
ToolHandleArray<IDQFilterTool> ManagedMonitorToolBase::m_DQFilterTools {this,"FilterTools",{}} |
|
protectedinherited |
◆ m_eff_stationmap
TH2* MdtVsTgcRawDataValAlg::m_eff_stationmap[2][2][4] {} |
|
private |
◆ m_eff_stationmapbase
TH2* MdtVsTgcRawDataValAlg::m_eff_stationmapbase[2][2][4] {} |
|
private |
◆ m_eff_stationmapmid
TH2* MdtVsTgcRawDataValAlg::m_eff_stationmapmid[2][2][4] {} |
|
private |
◆ m_endOfEventsBlock
bool ManagedMonitorToolBase::m_endOfEventsBlock |
|
privateinherited |
◆ m_endOfLowStat
bool ManagedMonitorToolBase::m_endOfLowStat |
|
privateinherited |
◆ m_endOfLumiBlock
bool ManagedMonitorToolBase::m_endOfLumiBlock |
|
privateinherited |
◆ m_endOfRun
bool ManagedMonitorToolBase::m_endOfRun |
|
privateinherited |
◆ m_environment
◆ m_environmentStr
std::string ManagedMonitorToolBase::m_environmentStr |
|
protectedinherited |
◆ m_evtStore
◆ m_fileKey
std::string ManagedMonitorToolBase::m_fileKey |
|
protectedinherited |
◆ m_haveClearedLastEventBlock
bool ManagedMonitorToolBase::m_haveClearedLastEventBlock |
|
protectedinherited |
◆ m_idHelperSvc
◆ m_lastEvent
int MdtVsTgcRawDataValAlg::m_lastEvent |
|
private |
◆ m_lastHigStatInterval
int ManagedMonitorToolBase::m_lastHigStatInterval |
|
protectedinherited |
◆ m_lastLowStatInterval
int ManagedMonitorToolBase::m_lastLowStatInterval |
|
protectedinherited |
◆ m_lastLumiBlock
unsigned int ManagedMonitorToolBase::m_lastLumiBlock |
|
protectedinherited |
◆ m_lastMedStatInterval
int ManagedMonitorToolBase::m_lastMedStatInterval |
|
protectedinherited |
◆ m_lastRun
unsigned int ManagedMonitorToolBase::m_lastRun |
|
protectedinherited |
◆ m_lbDurationDataKey
◆ m_lumiDataKey
◆ m_manager
◆ m_managerNameProp
std::string ManagedMonitorToolBase::m_managerNameProp |
|
protectedinherited |
◆ m_mdt_PrepDataContainerName
◆ m_mdt_SegmentCollectionName
◆ m_mdt_segmmap
TH2* MdtVsTgcRawDataValAlg::m_mdt_segmmap[2][4] {} |
|
private |
◆ m_mdt_segmmatchsag
TH1* MdtVsTgcRawDataValAlg::m_mdt_segmmatchsag[2][4][4][4] {} |
|
private |
◆ m_mdt_segmposdirsag
TH1* MdtVsTgcRawDataValAlg::m_mdt_segmposdirsag[2][4][4] {} |
|
private |
◆ m_mdt_trackchecksag
TH1* MdtVsTgcRawDataValAlg::m_mdt_trackchecksag[2][4][4][4][2] {} |
|
private |
◆ m_mdt_trackdirdirsag
TH1* MdtVsTgcRawDataValAlg::m_mdt_trackdirdirsag[2][4][4][4] {} |
|
private |
◆ m_MdtAdcCut
int MdtVsTgcRawDataValAlg::m_MdtAdcCut |
|
private |
◆ m_MdtTdcCut
int MdtVsTgcRawDataValAlg::m_MdtTdcCut |
|
private |
◆ m_metadataMap
MDMap_t ManagedMonitorToolBase::m_metadataMap |
|
protectedinherited |
◆ m_mvt_cutspassed
TH1* MdtVsTgcRawDataValAlg::m_mvt_cutspassed[2] {} |
|
private |
◆ m_mvt_extrprdsag
TH1* MdtVsTgcRawDataValAlg::m_mvt_extrprdsag[2][4][2][2][4] {} |
|
private |
◆ m_mvt_extrprdsag2
TH1* MdtVsTgcRawDataValAlg::m_mvt_extrprdsag2[2][4][2][2][4] {} |
|
private |
◆ m_nEvents
unsigned int ManagedMonitorToolBase::m_nEvents |
|
protectedinherited |
◆ m_nEventsIgnoreTrigger
unsigned int ManagedMonitorToolBase::m_nEventsIgnoreTrigger |
|
protectedinherited |
◆ m_newEventsBlock
bool ManagedMonitorToolBase::m_newEventsBlock |
|
privateinherited |
◆ m_newHigStatInterval
bool ManagedMonitorToolBase::m_newHigStatInterval |
|
privateinherited |
◆ m_newLowStat
bool ManagedMonitorToolBase::m_newLowStat |
|
privateinherited |
◆ m_newLowStatInterval
bool ManagedMonitorToolBase::m_newLowStatInterval |
|
privateinherited |
◆ m_newLumiBlock
bool ManagedMonitorToolBase::m_newLumiBlock |
|
privateinherited |
◆ m_newMedStatInterval
bool ManagedMonitorToolBase::m_newMedStatInterval |
|
privateinherited |
◆ m_newRun
bool ManagedMonitorToolBase::m_newRun |
|
privateinherited |
◆ m_nLumiBlocks
unsigned int ManagedMonitorToolBase::m_nLumiBlocks |
|
protectedinherited |
◆ m_path
std::string ManagedMonitorToolBase::m_path |
|
protectedinherited |
◆ m_preScaleProp
long ManagedMonitorToolBase::m_preScaleProp |
|
protectedinherited |
◆ m_procNEventsProp
long ManagedMonitorToolBase::m_procNEventsProp |
|
protectedinherited |
◆ m_sector
int MdtVsTgcRawDataValAlg::m_sector |
|
private |
◆ m_side
int MdtVsTgcRawDataValAlg::m_side |
|
private |
◆ m_stationHists
◆ m_StationSize
std::string MdtVsTgcRawDataValAlg::m_StationSize |
|
private |
◆ m_streamNameFcn
◆ m_supportedIntervalsForRebooking
std::set<Interval_t> ManagedMonitorToolBase::m_supportedIntervalsForRebooking |
|
privateinherited |
◆ m_templateEfficiencies
std::map< Interval_t, std::vector< MgmtParams<TEfficiency> > > ManagedMonitorToolBase::m_templateEfficiencies |
|
protectedinherited |
◆ m_templateGraphs
◆ m_templateHistograms
◆ m_templateTrees
◆ m_tgc_CoinContainerName
◆ m_tgc_prdcompsag
TH1* MdtVsTgcRawDataValAlg::m_tgc_prdcompsag[2][2][4] {} |
|
private |
◆ m_tgc_PrepDataContainerName
◆ m_tgclv1file
bool MdtVsTgcRawDataValAlg::m_tgclv1file |
|
private |
◆ m_THistSvc
◆ m_TREarray
◆ m_trigDecTool
◆ m_triggerChainProp
std::string ManagedMonitorToolBase::m_triggerChainProp |
|
protectedinherited |
◆ m_triggerGroupProp
std::string ManagedMonitorToolBase::m_triggerGroupProp |
|
protectedinherited |
◆ m_trigLiveFractionDataKey
◆ m_trigTranslator
PublicToolHandle<ITriggerTranslatorTool> ManagedMonitorToolBase::m_trigTranslator {this,"TriggerTranslatorTool",""} |
|
protectedinherited |
◆ m_useLumi
bool ManagedMonitorToolBase::m_useLumi |
|
privateinherited |
◆ m_useTrigger
bool ManagedMonitorToolBase::m_useTrigger |
|
protectedinherited |
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_vTrigChainNames
std::vector<std::string> ManagedMonitorToolBase::m_vTrigChainNames |
|
protectedinherited |
◆ m_vTrigGroupNames
std::vector<std::string> ManagedMonitorToolBase::m_vTrigGroupNames |
|
protectedinherited |
The documentation for this class was generated from the following files:
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
TH1 * m_mdt_trackdirdirsag[2][4][4][4]
constexpr uint8_t stationPhi
station Phi 1 to 8
const Identifier & identify(const UncalibratedMeasurement *meas)
Returns the associated identifier from the muon measurement.
TH1 * m_mdt_segmposdirsag[2][4][4]
Const iterator class for DataVector/DataList.
virtual bool inside(const Amg::Vector2D &locpo, double tol1=0., double tol2=0.) const =0
Each Bounds has a method inside, which checks if a LocalPosition is inside the bounds.
int numberOfSL(const Muon::TgcCoinDataContainer *tgctrgcontainer)
TH2 * m_eff_stationmapbase[2][2][4]
Scalar phi() const
phi method
void maphists(const xAOD::MuonSegmentContainer *m_newsegment, const Muon::TgcPrepDataContainer *tgc_prepcontainer)
std::string m_chamberName
void tgceffcalcfinalize()
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
bool isForward() const
Returns true if the chamber is mounted on the most inner ring, i.e. a TxF chamber.
void prepareTREarray(const MuonGM::MuonDetectorManager *MuonDetMgrDS)
Scalar eta() const
pseudorapidity method
Eigen::Matrix< double, 2, 1 > Vector2D
void putBox(TH2 *h2, float x1, float y1, float x2, float y2)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
bool isAside() const
Aside or Cside.
CoinDataType type() const
return the coincidence type (HIPT, LPT, SL)
static unsigned int runNumber()
const Trk::RIO_OnTrack * rioOnTrack(unsigned int) const
returns the RIO_OnTrack (also known as ROT) objects depending on the integer
virtual std::string fileKey() const
virtual void passOwnership(TObject *h, const std::string &key)
Pass ownership of a TObject to this manager so that it will be deleted appropriately.
SG::ReadHandleKey< xAOD::MuonSegmentContainer > m_mdt_SegmentCollectionName
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_mdt_PrepDataContainerName
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
bool msgLvl(const MSG::Level lvl) const
void BlankPhi24(TH2 *h2, int binx)
virtual const MuonGM::TgcReadoutElement * detectorElement() const override final
Returns the detector element corresponding to this PRD The pointer will be zero if the det el is not ...
bool isValid(const T &p)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
bool empty() const
Test if the key is blank.
double getLongSsize() const
TH1 * m_tgc_prdcompsag[2][2][4]
def TH2F(name, title, nxbins, bins_par2, bins_par3, bins_par4, bins_par5=None, bins_par6=None, path='', **kwargs)
unsigned int numberOfContainedROTs() const
number of RIO_OnTracks
static unsigned int getLBsLowStat()
int TGClayer2stationindex(int l)
TH1 * m_mvt_cutspassed[2]
Amg::Vector3D channelPos(const Identifier &id) const
Returns the position of the active channel (wireGang or strip)
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual void setOwner(IDataHandleHolder *o)=0
SG::ReadCondHandleKey< MuonGM::MuonDetectorManager > m_DetectorManagerKey
static Environment_t environment()
Returns the running environment of the monitoring application to help ManagedMonitorToolBase objects ...
void BlankStationMap(TH2 *h2, int ws)
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_tgc_PrepDataContainerName
const TgcReadoutElement * getTgcReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
static unsigned int getLBsMedStat()
TH1 * m_mdt_trackchecksag[2][4][4][4][2]
const MuonGM::TgcReadoutElement * m_TREarray[8][2][9][49]
int phi2sector(int phi, int ef)
static DataType_t dataType()
Returns the data type that the monitoring application is running over to help ManagedMonitorToolBase ...
const MdtReadoutElement * getMdtReadoutElement(const Identifier &id) const
access via extended identifier (requires unpacking)
void SortMDTSegments(const xAOD::MuonSegmentContainer *m_newsegment, std::vector< const Muon::MuonSegment * >(&sortedSegments)[2][4])
::StatusCode StatusCode
StatusCode definition for legacy code.
TH1 * m_mvt_extrprdsag[2][4][2][2][4]
bool dPhi(const xAOD::TauJet &tau, const xAOD::TauTrack &track, double &out)
void MatchMDTSegments(std::vector< const Muon::MuonSegment * >(&sortedSegments)[2][4], std::vector< const Muon::MuonSegment * >(&disqualifiedSegments)[2][4], std::vector< SegmTrack >(&matchedSegments)[2])
SG::ReadHandleKey< Muon::TgcCoinDataContainer > m_tgc_CoinContainerName
virtual void writeAndDelete(const std::string &key)
If the TObject is owned by this manager, its Write() method is called and it is deleted.
TH1 * m_mvt_extrprdsag2[2][4][2][2][4]
const std::vector< const Trk::MeasurementBase * > & containedMeasurements() const
returns the vector of Trk::MeasurementBase objects
A TgcReadoutElement corresponds to a single TGC chamber; therefore typically a TGC station contains s...
const_iterator end() const
return const_iterator for end of container
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
const_iterator begin() const
return const_iterator for first entry
const Amg::Vector3D globalPosition() const
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
void MidstationOnlyCheck(std::vector< const Muon::MuonSegment * >(&sortedSegments)[2][4], std::vector< const Muon::MuonSegment * >(&disqualifiedSegments)[2][4], const Muon::TgcPrepDataContainer *tgc_prepcontainer)
void CheckTGConTrack(std::vector< SegmTrack >(&matchedSegments)[2], const Muon::TgcPrepDataContainer *tgc_prepcontainer)
void roi2etaphi(const Muon::TgcCoinData &cd, int &eta, int &phi)
StatusCode bookeffhists(MonGroup &mdtvstgclv1_expert_a, MonGroup &mdtvstgclv1_expert_c)
static unsigned int getLBsHigStat()
void DQCheckMDTSegments(std::vector< const Muon::MuonSegment * >(&sortedSegments)[2][4], std::vector< const Muon::MuonSegment * >(&disqualifiedSegments)[2][4])
StatusCode initialize(bool used=true)
int roi() const
return ROI number
int getStationMapIndex(int x, int l, int stationFE, int stationEta, int stationPhi)
const std::vector< const MuonClusterOnTrack * > & containedROTs() const
returns the vector of SCT_ClusterOnTrack objects .
Eigen::Matrix< double, 3, 1 > Vector3D
bool isForward() const
Forward region or Endcap region.
void correlation(const Muon::MdtPrepDataContainer *mdt_hit_container, const Muon::TgcCoinDataContainer *tgc_trigger_container)
std::string m_StationSize
TH2 * m_mdt_segmmap[2][4]
StatusCode bookmaphists(MonGroup &mdtvstgclv1_expert_a, MonGroup &mdtvstgclv1_expert_c)
int TGCstationname2stationindex(int stationName)
Amg::Vector3D tubePos(const Identifier &id) const
Returns the global position of the given tube.
int pt() const
return pt threshold value
The MuonDetectorManager stores the transient representation of the Muon Spectrometer geometry and pro...
#define ATH_MSG_WARNING(x)
filelist
print ("Checking files %s..." % fullfile)
int TGCgetlayer(int stationName, int g)
std::string getStationType() const
Identifier identify() const
return the identifier -extends MeasurementBase
TH1 * m_mdt_segmmatchsag[2][4][4][4]
Identifier identify() const override final
Returns the ATLAS Identifier of the MuonReadOutElement.
Class to represent TGC measurements.
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
void labelStationMap(TH2 *h2, int i=-1, int k=-1)
TH2 * m_eff_stationmap[2][2][4]
virtual const Amg::Vector3D & globalPosition() const override final
Returns the global position.
virtual const Amg::Vector3D & globalPosition() const override final
global position
def TH1F(name, title, nxbins, bins_par2, bins_par3=None, path='', **kwargs)
static unsigned int lumiBlockNumber()
constexpr uint8_t stationEta
1 to 3
virtual const Trk::SurfaceBounds & bounds() const override
Return the boundaries of the element.
Amg::Transform3D globalToLocalTransf(const Identifier &id) const
Returns the global -> local transformation.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
TH2 * m_eff_stationmapmid[2][2][4]
int getStationPhi() const
void tgceffcalc(const xAOD::MuonSegmentContainer *m_newsegment, const Muon::TgcPrepDataContainer *tgc_prepcontainer)
int getStationEta() const
Base class for Muon cluster RIO_OnTracks.
const Amg::Vector3D & globalDirection() const
global direction
int phi() const
return phi number of trigger sector