ATLAS Offline Software
Loading...
Searching...
No Matches
CSCSegmValMonAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef CSCSegmValMonAlg_H
6#define CSCSegmValMonAlg_H
7
10
11#include "GaudiKernel/ServiceHandle.h"
12#include "GaudiKernel/ToolHandle.h"
13
16#include "TrkTrack/Track.h"
17
22
23#include <vector>
24#include <string>
25
26namespace Trk {
27 class MeasurementBase;
28}
29
31
32 public:
34 CSCSegmValMonAlg( const std::string& name, ISvcLocator* pSvcLocator );
36 virtual ~CSCSegmValMonAlg()=default;
37 virtual StatusCode initialize() override;
38 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
39
40 private:
41
42 typedef std::vector<TH1 *> SegmHistType;
43 typedef std::vector<TH1 *>::const_iterator SegmHistIter;
44
45 typedef std::vector<const Trk::MeasurementBase*> TrkSegmType;
46 typedef std::vector<const Trk::MeasurementBase*>::const_iterator TrkSegmIter;
47
48 typedef enum EndCaps { ECA = 0, ECC } EndCapType;
49
50 bool isCscSegment( const Muon::MuonSegment* seg ) const;
51 unsigned int cscHits( const Muon::MuonSegment* seg ) const;
52 bool segmSlopeCut(const float csc_x, const float csc_ax, const float cut ) const;
53 //Trigger aware monitoring
54 bool evtSelTriggersPassed() const;
55
57 "Muon::MuonEDMHelperSvc/MuonEDMHelperSvc",
58 "Handle to the service providing the IMuonEDMHelperSvc interface" };
59 ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
60 SG::ReadHandleKeyArray<Trk::SegmentCollection> m_segmKey{this,"SegmentKey",{"TrkMuonSegments", "UnAssocMuonTrkSegments"},"muon segments"};
61
62 Gaudi::Property<std::vector<std::string>> m_sampSelTriggers{this,"EventSelTriggers",{}};
63 Gaudi::Property<bool> m_doEvtSel{this,"DoEventSelection",false};
64 Gaudi::Property<double> m_segmSlope{this,"SegmentSlopeCut",0};
65
66};
67
68#endif
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
bool evtSelTriggersPassed() const
virtual ~CSCSegmValMonAlg()=default
Destructor.
virtual StatusCode initialize() override
initialize
std::vector< constTrk::MeasurementBase * >::const_iterator TrkSegmIter
enum CSCSegmValMonAlg::EndCaps EndCapType
bool isCscSegment(const Muon::MuonSegment *seg) const
CSCSegmValMonAlg(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< std::vector< std::string > > m_sampSelTriggers
std::vector< TH1 * > SegmHistType
std::vector< TH1 * >::const_iterator SegmHistIter
unsigned int cscHits(const Muon::MuonSegment *seg) const
Gaudi::Property< double > m_segmSlope
bool segmSlopeCut(const float csc_x, const float csc_ax, const float cut) const
std::vector< const Trk::MeasurementBase * > TrkSegmType
Gaudi::Property< bool > m_doEvtSel
ServiceHandle< Muon::IMuonEDMHelperSvc > m_edmHelperSvc
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
SG::ReadHandleKeyArray< Trk::SegmentCollection > m_segmKey
This is the common class for 3D segments used in the muon spectrometer.
This class is the pure abstract base class for all fittable tracking measurements.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Ensure that the ATLAS eigen extensions are properly loaded.