![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
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 | convertLWHists () |
| Deal with the LW histograms. 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 | regHist (LWHist *h, const std::string &system, Interval_t interval, MgmtAttr_t histo_mgmt=ATTRIB_MANAGED, const std::string &chain="", const std::string &merge="") |
| Support for lightweight histograms: More...
|
|
virtual StatusCode | regHist (LWHist *h, const MonGroup &group) |
|
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 | getHist (LWHist *&h, const std::string &hName, const std::string &system, Interval_t interval) |
|
virtual StatusCode | getHist (LWHist *&h, const std::string &hName, const MonGroup &group) |
|
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 | deregHist (LWHist *h) |
|
virtual StatusCode | deregHist (TH1 *h) |
| De-registers a TH1 from the THistSvc, but does NOT delete the object. More...
|
|
virtual StatusCode | writeAndDelete (TH1 *h, const MonGroup &group) |
| Write out histogram and delete it. 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 | regManagedLWHistograms (std::vector< MgmtParams< LWHist > > &templateLWHistograms) |
|
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< LWHist > > > | m_templateLWHistograms |
|
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 |
|
std::set< LWHist * > | m_lwhists |
|
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 114 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 131 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 SCTHitEffMonTool, SCTHitsNoiseMonTool, SCTErrMonTool, SCTTracksMonTool, SCTLorentzMonTool, photonMonTool, egammaMonToolBase, electronMonTool, MuonPhysValMonitoring::MuonPhysValMonitoringTool, LArCellMonTool, AFPHitsMonitorTool, MuonDQA::MuonEventInfoMonTool, DQTDataFlowMonTool, TileCalCellMonTool, ActsTrk::PhysValTool, PhysValSecVtx, LUCID_HitsMoniTool, ZeeTaPMonTool, forwardElectronMonTool, DQTNonCollBkg_ZDC, TRT_Electron_Monitoring_Tool, InDetGlobalTrackMonTool, CscCalibMonToolBase, JetTagMonitoring, InDetPhysValMonitoringTool, EgammaPhysValMonitoring::EgammaPhysValMonitoringTool, InDetGlobalSynchMonTool, MissingEtDQA::PhysValMET, CaloTowerVecMon, JetTagDQA::PhysValBTag, CscCalibMonToolSlope, METMonTool, DQTGlobalWZFinderTool, CSCSegmValAlg, PhysVal::PhysValExample, TopPhysVal::TopPhysValMonitoring, DataQualityFatherMonTool, CscCalibMonToolPed, ZeeValidation::ZeeValidationMonitoringTool, CaloClusterVecMon, CaloTransverseBalanceVecMon, DQTDetSynchMonTool, InDetTrackPerfMonTool, IDPerfMonWenu, IDPerfMonZee, TrackCaloClusterRecValidationTool, DQTMuonIDTrackTool, InDetGlobalPixelTool, JetMonitoringTool, TileCellNoiseMonTool, CscClusterValAlg, PhysValTau, PhysValFE, AFPTechnicalMonitorTool, ManagedMonitorToolTest, DiMuMon, InDetVertexMonitoring, CscPrdValAlg, CscRdoValAlg, HIMonitoringEventShapeTool, IDPerfMonKshort, HIMonitoringZdcTool, HIMonitoringElectronsTool, HIMonitoringPhotonsTool, PhysValCluster, and HIMonitoringMuonsTool.
Definition at line 1406 of file ManagedMonitorToolBase.cxx.
1410 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 |
This implementation does nothing; equivalent functionality may be provided by procHists(...) with appropriate arguments.
Implements IMonitorToolBase.
Reimplemented in SCTHitsNoiseMonTool, SCTTracksMonTool, SCTLorentzMonTool, TileRawChannelMonTool, TileDigitsMonTool, DQTDataFlowMonTool, DQTNonCollBkg_ZDC, DQTGlobalWZFinderTool, DataQualityFatherMonTool, DQTDetSynchMonTool, DQTMuonIDTrackTool, TileCellNoiseMonTool, CscCalibMonToolBase, CscPrdValAlg, and CscRdoValAlg.
Definition at line 1901 of file ManagedMonitorToolBase.cxx.
1906 return StatusCode::SUCCESS;
◆ 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])&&
◆ convertLWHists()
StatusCode ManagedMonitorToolBase::convertLWHists |
( |
| ) |
|
|
virtualinherited |
◆ 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);
◆ 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.
◆ 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.
◆ 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() [1/2]
StatusCode ManagedMonitorToolBase::deregHist |
( |
LWHist * |
h | ) |
|
|
virtualinherited |
Definition at line 1826 of file ManagedMonitorToolBase.cxx.
1830 return StatusCode::FAILURE;
1833 if (
h->usingROOTBackend()) {
1834 h->setOwnsROOTHisto(
true);
1838 return StatusCode::SUCCESS;
◆ deregHist() [2/2]
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 1861 of file ManagedMonitorToolBase.cxx.
1874 return StatusCode::SUCCESS;
◆ 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 1851 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 792 of file ManagedMonitorToolBase.cxx.
798 msg(MSG::WARNING) <<
"ManagedMonitorToolBase::initialize() never called from reimplementation!" <<
endmsg;
809 newLumiBlock =
false;
815 newLowStatInterval =
false;
816 newMedStatInterval =
false;
817 newHigStatInterval =
false;
830 isNewEventsBlock =
true;
845 if( LBsLowStat*LBsMedStat*LBsHigStat == 0) {
846 msg(MSG::WARNING) <<
"zero LBs requested for interval" <<
endmsg;
898 std::vector<Interval_t> intervals_to_process;
903 for (
const auto interval: intervals_to_process) {
916 it.m_templateHist->LabelsInflate(
"X");
923 TH1* passedHist =
it.m_templateHist->GetCopyPassedHisto();
924 TH1* totalHist =
it.m_templateHist->GetCopyTotalHisto();
927 passedHist->LabelsInflate(
"X");
928 totalHist->LabelsInflate(
"X");
933 it.m_templateHist->SetPassedHistogram(*passedHist,
"f");
934 it.m_templateHist->SetTotalHistogram(*totalHist,
" ");
942 streamname->updateRunLB();
958 bool filterresult(
true);
961 for (; filterresult && (ifilter != filterend);
963 filterresult = (filterresult && (*ifilter)->accept());
993 if( LBsLowStat*LBsMedStat*LBsHigStat > 0) {
1001 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/6]
◆ getHist() [2/6]
StatusCode ManagedMonitorToolBase::getHist |
( |
LWHist *& |
h, |
|
|
const std::string & |
hName, |
|
|
const std::string & |
system, |
|
|
Interval_t |
interval |
|
) |
| |
|
virtualinherited |
◆ getHist() [3/6]
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 1598 of file ManagedMonitorToolBase.cxx.
◆ getHist() [4/6]
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 1588 of file ManagedMonitorToolBase.cxx.
◆ getHist() [5/6]
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 1640 of file ManagedMonitorToolBase.cxx.
◆ getHist() [6/6]
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 1630 of file ManagedMonitorToolBase.cxx.
◆ getNewStreamNameFcn()
|
protectedvirtualinherited |
◆ 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 587 of file ManagedMonitorToolBase.cxx.
590 std::string
str(
"file");
◆ intervalStringToEnum()
Converts a string to the corresponding Interval_t.
Definition at line 629 of file ManagedMonitorToolBase.cxx.
632 std::string lcstr( strToLower(
str) );
636 else if( lcstr ==
"fill" )
638 else if( lcstr ==
"run" )
640 else if( lcstr ==
"lowStat" )
642 else if( lcstr ==
"medStat" )
644 else if( lcstr ==
"higStat" )
646 else if( lcstr ==
"lumiBlock" )
648 else if( lcstr ==
"eventsBlock" )
650 else if( lcstr ==
"file" )
656 if(
sc.isSuccess() ) {
657 MsgStream
log(
ms,
"ManagedMonitorToolBase::intervalStringToEnum()" );
658 log << MSG::WARNING <<
"Unknown ManagedMonitorToolBase::Interval_t \""
659 <<
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 1923 of file ManagedMonitorToolBase.cxx.
1928 return lumi->lbAverageInteractionsPerCrossing();
1931 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 1992 of file ManagedMonitorToolBase.cxx.
2000 return live->lbAverageLiveFraction();
2003 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 1959 of file ManagedMonitorToolBase.cxx.
1964 return lumi->lbAverageLuminosity();
1967 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 2046 of file ManagedMonitorToolBase.cxx.
2054 return dur->lbDuration();
2057 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 1939 of file ManagedMonitorToolBase.cxx.
1944 float muToLumi =
lumi->muToLumi();
1946 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id()) / muToLumi;
1951 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 1975 of file ManagedMonitorToolBase.cxx.
1980 return lumi->lbLuminosityPerBCIDVector().at (ctx.eventID().bunch_crossing_id());
1983 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 2030 of file ManagedMonitorToolBase.cxx.
2037 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 2011 of file ManagedMonitorToolBase.cxx.
2019 return live->l1LiveFractionVector().at (ctx.eventID().bunch_crossing_id());
2022 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;
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;
430 Identifier tgcid1=(tpdVector[
k].at(iTPD1))->identify();
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]){
469 Identifier tgcid2=(tpdVector[
k].at(iTPD2))->identify();
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 1648 of file ManagedMonitorToolBase.cxx.
1650 return StatusCode::FAILURE;
1652 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1653 std::string
name =
e->GetName();
1659 ATH_MSG_WARNING(
"HEY! Attempting to register "<<
name<<
" as a per-LB histogram, but not setting the merge algorithm! Use \"merge\", at least.");
1666 return StatusCode::FAILURE;
1676 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1683 if (
smd != StatusCode::SUCCESS)
1684 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 1702 of file ManagedMonitorToolBase.cxx.
1706 return StatusCode::FAILURE;
1719 return StatusCode::FAILURE;
1722 std::string
name =
g->GetName();
1730 std::string gName =
g->GetName();
1733 std::string genericName = NoOutputStream().getStreamName(
this,
group, gName );
1741 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 1692 of file ManagedMonitorToolBase.cxx.
◆ regHist() [1/4]
Definition at line 1522 of file ManagedMonitorToolBase.cxx.
1528 return StatusCode::FAILURE;
1540 return StatusCode::FAILURE;
1547 std::string hName =
h->GetName();
1551 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1577 if (
h->usingROOTBackend())
1579 h->setOwnsROOTHisto(
false);
1583 return StatusCode::SUCCESS;
◆ regHist() [2/4]
◆ regHist() [3/4]
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 1462 of file ManagedMonitorToolBase.cxx.
1468 return StatusCode::FAILURE;
1481 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.");
1488 return StatusCode::FAILURE;
1491 std::string hName =
h->GetName();
1499 std::string hName =
h->GetName();
1502 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1510 if (
smd != StatusCode::SUCCESS)
return StatusCode::FAILURE;
◆ regHist() [4/4]
◆ registerMetadata()
StatusCode ManagedMonitorToolBase::registerMetadata |
( |
const std::string & |
streamName, |
|
|
const std::string & |
hName, |
|
|
const MonGroup & |
group |
|
) |
| |
|
protectedinherited |
Definition at line 1005 of file ManagedMonitorToolBase.cxx.
1011 size_t found=mdStreamName.rfind(
'/');
1013 if (
found != std::string::npos )
1014 mdStreamName.replace(
found, mdStreamName.length(),
"/metadata" );
1018 metadata =
new TTree(
"metadata",
"Monitoring Metadata" );
1019 if (!
metadata)
return StatusCode::FAILURE;
1021 if (scmd == StatusCode::FAILURE)
return StatusCode::FAILURE;
1022 MDMap_t::value_type valToInsert( mdStreamName,
new OutputMetadata(
metadata) );
1028 return StatusCode::SUCCESS;
◆ regManagedEfficiencies()
StatusCode ManagedMonitorToolBase::regManagedEfficiencies |
( |
std::vector< MgmtParams< TEfficiency > > & |
templateEfficiencies | ) |
|
|
protectedinherited |
Definition at line 1200 of file ManagedMonitorToolBase.cxx.
1201 bool allIsOk =
true;
1202 for(
auto&
it : templateEfficiencies ) {
1205 TEfficiency* theEfficiency =
it.m_templateHist;
1206 TEfficiency*
e =
static_cast<TEfficiency*
>(theEfficiency->Clone());
1207 int nbins = theEfficiency->GetTotalHistogram()->GetNbinsX();
1208 int xlow = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmin();
1209 int xhigh = theEfficiency->GetTotalHistogram()->GetXaxis()->GetXmax();
1210 e->SetBins(
nbins,xlow,xhigh);
1211 std::string
name =
e->GetName();
1214 TGraph* theGraph =
reinterpret_cast<TGraph*
>(theEfficiency);
1215 TGraph*
g =
reinterpret_cast<TGraph*
>(
e);
1223 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1225 bool doneCleaning =
false;
1227 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1232 if (sc2 == StatusCode::SUCCESS) doneCleaning =
true;
1235 if (!doneCleaning) {
1236 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1241 if (sc3 == StatusCode::FAILURE)
1248 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1251 if (sc4 == StatusCode::FAILURE) allIsOk =
false;
1254 if (!allIsOk)
return StatusCode::FAILURE;
1255 return StatusCode::SUCCESS;
◆ regManagedGraphs()
StatusCode ManagedMonitorToolBase::regManagedGraphs |
( |
std::vector< MgmtParams< TGraph > > & |
templateGraphs | ) |
|
|
protectedinherited |
Definition at line 1129 of file ManagedMonitorToolBase.cxx.
1133 bool allIsOk =
true;
1135 for( std::vector< MgmtParams<TGraph> >::
iterator it = templateGraphs.begin();
it != templateGraphs.end(); ++
it ) {
1136 MonGroup
group = (*it).m_group;
1139 TGraph* theGraph = (*it).m_templateHist;
1142 TGraph*
g =
static_cast<TGraph*
>(theGraph->Clone());
1146 std::string gName =
g->GetName();
1153 if (sc1 == StatusCode::FAILURE)
1158 bool doneCleaning =
false;
1160 TSeqCollection *
filelist=gROOT->GetListOfFiles();
1165 if (sc2 == StatusCode::SUCCESS)
1166 doneCleaning =
true;
1170 if (!doneCleaning) {
1171 ATH_MSG_ERROR(
"THistSvc_deReg_fixTGraph: failed to apply TGraph fix for the THist Svc!");
1178 if (sc3 == StatusCode::FAILURE)
1185 if (
smd != StatusCode::SUCCESS)
1190 if (sc4 == StatusCode::FAILURE)
1195 if (!allIsOk)
return StatusCode::FAILURE;
1197 return StatusCode::SUCCESS;
◆ regManagedHistograms()
StatusCode ManagedMonitorToolBase::regManagedHistograms |
( |
std::vector< MgmtParams< TH1 > > & |
templateHistograms | ) |
|
|
protectedinherited |
Definition at line 1032 of file ManagedMonitorToolBase.cxx.
1047 bool allIsOk =
true;
1049 for( std::vector< MgmtParams<TH1> >::
iterator it = templateHistograms.begin();
it != templateHistograms.end(); ++
it ) {
1050 MonGroup&
group = (*it).m_group;
1053 TH1* theHist = (*it).m_templateHist;
1056 TH1*
h =
static_cast<TH1*
>(theHist->Clone());
1060 std::string hName =
h->GetName();
1067 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1071 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1074 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1083 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1087 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1091 if (!allIsOk)
return StatusCode::FAILURE;
1093 return StatusCode::SUCCESS;
◆ regManagedLWHistograms()
StatusCode ManagedMonitorToolBase::regManagedLWHistograms |
( |
std::vector< MgmtParams< LWHist > > & |
templateLWHistograms | ) |
|
|
protectedinherited |
◆ regManagedTrees()
StatusCode ManagedMonitorToolBase::regManagedTrees |
( |
std::vector< MgmtParams< TTree > > & |
templateTrees | ) |
|
|
protectedinherited |
Definition at line 1260 of file ManagedMonitorToolBase.cxx.
1264 bool allIsOk =
true;
1266 for( std::vector< MgmtParams<TTree> >::
iterator it = templateTrees.begin();
it != templateTrees.end(); ++
it ) {
1267 MonGroup
group = (*it).m_group;
1270 TTree* theTree = (*it).m_templateHist;
1273 TTree*
t =
static_cast<TTree*
>(theTree->Clone());
1277 std::string
name =
t->GetName();
1284 if (sc1 == StatusCode::FAILURE) allIsOk =
false;
1288 if (sc2 == StatusCode::FAILURE) allIsOk =
false;
1291 std::string genericName = NoOutputStream().getStreamName(
this,
group,
name );
1300 if (
smd != StatusCode::SUCCESS) allIsOk =
false;
1304 if (sc3 == StatusCode::FAILURE) allIsOk =
false;
1308 if (!allIsOk)
return StatusCode::FAILURE;
1310 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 1758 of file ManagedMonitorToolBase.cxx.
1773 return StatusCode::FAILURE;
1776 std::string
name =
t->GetName();
1777 std::string genericName = NoOutputStream().getStreamName(
this, group_unmanaged,
name );
1785 std::string tName =
t->GetName();
1788 std::string genericName = NoOutputStream().getStreamName(
this,
group, tName );
1796 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 1748 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 1893 of file ManagedMonitorToolBase.cxx.
1896 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 502 of file ManagedMonitorToolBase.cxx.
506 msg(MSG::ERROR) <<
"!! streamNameFunction() has not been initialized !!" <<
endmsg;
507 msg(MSG::ERROR) <<
" --> neither ManagedMonitorToolBase::initialize() nor" <<
endmsg;
508 msg(MSG::ERROR) <<
" --> ManagedMonitorToolBase::setMonManager() has been called." <<
endmsg;
509 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 1097 of file ManagedMonitorToolBase.cxx.
1107 GlobalDirectoryRestore restore;
1110 bool graphRemoved =
false;
1113 TDirectory*
dir =
file->GetDirectory(directoryName.c_str());
1116 TObject*
obj =
dir->Remove(theGraph);
1118 graphRemoved =
true;
1121 if (!graphRemoved) {
1122 return StatusCode::FAILURE;
1125 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 2362 of file ManagedMonitorToolBase.cxx.
2364 for (
size_t i = 0;
i < vTrigChainNames.size(); ++
i) {
2365 std::string& thisName = vTrigChainNames[
i];
2366 if (thisName.compare(0, 9,
"CATEGORY_") ==0) {
2367 ATH_MSG_DEBUG(
"Found a trigger category: " << thisName <<
". We will unpack it.");
2369 std::ostringstream oss;
2371 for (
size_t itrig = 0; itrig <
triggers.size(); ++itrig) {
2379 std::string newval = oss.str();
2381 vTrigChainNames[
i] = newval;
◆ updateVHKA()
◆ writeAndDelete()
StatusCode ManagedMonitorToolBase::writeAndDelete |
( |
TH1 * |
h, |
|
|
const MonGroup & |
group |
|
) |
| |
|
virtualinherited |
Write out histogram and delete it.
Definition at line 1803 of file ManagedMonitorToolBase.cxx.
1806 return StatusCode::FAILURE;
1808 std::string hName =
h->GetName();
1811 std::string genericName = NoOutputStream().getStreamName(
this,
group, hName );
1814 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_lwhists
std::set<LWHist*> ManagedMonitorToolBase::m_lwhists |
|
protectedinherited |
◆ 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_templateLWHistograms
◆ 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:
virtual LWHist * ownedLWHistOfKey(const std::string &key) const
def retrieve(aClass, aKey=None)
JetConstituentVector::iterator iterator
TH1 * m_mdt_trackdirdirsag[2][4][4][4]
virtual LWHist * writeAndDeleteLWHist(const std::string &key, const std::string &streamName)
constexpr uint8_t stationPhi
station Phi 1 to 8
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)
virtual LWHist * writeAndResetLWHist(const std::string &key, const std::string &streamName)
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/LWHist 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
static void setStreamName(LWHist *, const std::string &streamName)
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 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 ...
static const std::string & streamName(LWHist *)
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]
bool usingROOTBackend() const
static void removeCustomData(LWHist *)
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)
static const std::string & key(LWHist *)
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
void fcn(int &, double *, double &result, double par[], int)
this is where we write out chi2
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()
static void setKey(LWHist *, const std::string &key)
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
void setOwnsROOTHisto(bool b)
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
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.
virtual Identifier identify() const final
return the identifier -extends MeasurementBase
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.
virtual TH1 * getROOTHistBase()=0
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