ATLAS Offline Software
MuonCalibSelector.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef MUONCALIBEXTRANTUPLEANALYSIS_MUONCALIBSELECTOR_H
6 #define MUONCALIBEXTRANTUPLEANALYSIS_MUONCALIBSELECTOR_H
7 
8 #include <float.h>
9 
10 #include <vector>
11 
14 namespace MuonCalib {
15 
16  class MuonCalibExtendedSegment;
17  class MuonCalibExtendedTrack;
18  class MuonCalibTrackSummary;
19 
21  public:
24 
25  struct Selection {
26  Selection() = default;
27  virtual ~Selection() = default;
28 
29  unsigned int nminMdtHits{3};
30  unsigned int nminMdtMl1{0};
31  unsigned int nminMdtMl2{0};
32  unsigned int nminMdtCh{0};
33  unsigned int nmaxMdtCh{1000};
34  unsigned int nminPhiTrigHits{0};
35  unsigned int nminEtaTrigHits{0};
36  unsigned int nmaxOutliers{100000};
37  unsigned int nmaxPseudo{1000};
38  double maxChi2Ndof{DBL_MAX};
39  };
40 
41  struct SegmentSelection : public Selection {
42  SegmentSelection() = default;
43 
44  bool hasFittedT0{false};
45  bool hasAssociatedTrack{false};
46  bool singleML{false};
47  bool twoML{false};
48  double minAdcGoodFraction{0.};
49  };
50 
51  struct TrackSelection : public Selection {
52  TrackSelection() = default;
53  bool barrelTrack{false};
54  bool endcapTrackA{false};
55  bool endcapTrackC{false};
56  double maxr0{DBL_MAX};
57  double maxz0{DBL_MAX};
58  };
59 
60  public:
61  // default constructor
63 
65  SegVec select(const SegVec& segments, const Selection* selection = nullptr) const;
66 
68  TrackVec select(const TrackVec& tracks, const Selection* selection = nullptr) const;
69 
71  bool select(const MuonCalibExtendedSegment& segment, const Selection* selection = nullptr) const;
72 
74  bool select(const MuonCalibExtendedTrack& track, const Selection* selection = nullptr) const;
75 
77  bool select(const MuonCalibTrackSummary& summary, const Selection* selection = nullptr) const;
78 
79  private:
81  };
82 
83 } // namespace MuonCalib
84 #endif
MuonCalib::MuonCalibSelector
Definition: MuonCalibSelector.h:20
MuonCalib::MuonCalibSelector::SegmentSelection::hasAssociatedTrack
bool hasAssociatedTrack
Definition: MuonCalibSelector.h:45
MuonCalib::MuonCalibSelector::Selection::nmaxPseudo
unsigned int nmaxPseudo
maximum number of pseudo-measurements
Definition: MuonCalibSelector.h:37
MuonCalib::MuonCalibSelector::Selection::Selection
Selection()=default
MuonCalib::MuonCalibSelector::Selection::maxChi2Ndof
double maxChi2Ndof
maximum chi2/ndof
Definition: MuonCalibSelector.h:38
MuonCalib::MuonCalibTrackSummary
Definition: MuonCalibTrackSummary.h:17
MuonCalib::MuonCalibSelector::Selection::nminMdtMl1
unsigned int nminMdtMl1
minimum number of MDT hits in ml 1
Definition: MuonCalibSelector.h:30
MuonCalib::EventHandler::SegmentVec
std::vector< ExtendedSegmentPtr > SegmentVec
Definition: EventHandler.h:44
MuonCalib::MuonCalibSelector::MuonCalibSelector
MuonCalibSelector()
MuonCalib::MuonCalibSelector::Selection::nminMdtMl2
unsigned int nminMdtMl2
minimum number of MDT hits in ml 1
Definition: MuonCalibSelector.h:31
MuonCalib::MuonCalibSelector::SegmentSelection::twoML
bool twoML
Definition: MuonCalibSelector.h:47
MuonCalib::MuonCalibSelector::Selection::nminMdtCh
unsigned int nminMdtCh
minimum number of chambers MDT
Definition: MuonCalibSelector.h:32
MuonCalib::MuonCalibSelector::SegVec
EventHandler::SegmentVec SegVec
Definition: MuonCalibSelector.h:22
MuonCalib::MuonCalibSelector::SegmentSelection::hasFittedT0
bool hasFittedT0
Definition: MuonCalibSelector.h:44
MuonCalib::MuonCalibSelector::select
SegVec select(const SegVec &segments, const Selection *selection=nullptr) const
select segments satisfying selection.
Definition: MuonCalibSelector.cxx:15
MuonCalib::MuonCalibSelector::TrackSelection
Definition: MuonCalibSelector.h:51
MuonCalib
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
Definition: CscCalcPed.cxx:22
MuonCalib::MuonCalibSelector::TrackSelection::endcapTrackC
bool endcapTrackC
Definition: MuonCalibSelector.h:55
EventHandler.h
MuonCalib::MuonCalibSelector::SegmentSelection
Definition: MuonCalibSelector.h:41
selection
std::string selection
Definition: fbtTestBasics.cxx:73
MuonCalib::MuonCalibSelector::Selection::nminMdtHits
unsigned int nminMdtHits
minimum number of MDT hits
Definition: MuonCalibSelector.h:29
MuonCalib::MuonCalibSelector::SegmentSelection::SegmentSelection
SegmentSelection()=default
MuonCalib::MuonCalibSelector::TrackSelection::barrelTrack
bool barrelTrack
Definition: MuonCalibSelector.h:53
MuonCalib::MuonCalibSelector::SegmentSelection::singleML
bool singleML
Definition: MuonCalibSelector.h:46
MuonCalib::MuonCalibSelector::m_selection
Selection m_selection
Definition: MuonCalibSelector.h:80
MuonCalib::MuonCalibSelector::Selection::nmaxMdtCh
unsigned int nmaxMdtCh
maximum number of chambers MDT
Definition: MuonCalibSelector.h:33
MuonCalib::EventHandler::TrackVec
std::vector< ExtendedTrackPtr > TrackVec
Definition: EventHandler.h:41
MuonCalib::MuonCalibSelector::TrackSelection::maxz0
double maxz0
maximum longitudinal impact parameter at I.P.
Definition: MuonCalibSelector.h:57
MuonCalib::MuonCalibSelector::SegmentSelection::minAdcGoodFraction
double minAdcGoodFraction
Definition: MuonCalibSelector.h:48
MuonCalib::MuonCalibSelector::TrackSelection::maxr0
double maxr0
maximum transverse impact parameter wrt I.P.
Definition: MuonCalibSelector.h:56
MuonCalib::MuonCalibSelector::Selection::nmaxOutliers
unsigned int nmaxOutliers
maximum number of outliers
Definition: MuonCalibSelector.h:36
MuonCalib::MuonCalibSelector::Selection
Definition: MuonCalibSelector.h:25
MuonCalib::MuonCalibSelector::TrackVec
EventHandler::TrackVec TrackVec
Definition: MuonCalibSelector.h:23
MuonCalib::MuonCalibSelector::Selection::nminPhiTrigHits
unsigned int nminPhiTrigHits
minimum number of phi trigger hits
Definition: MuonCalibSelector.h:34
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
MuonCalib::MuonCalibSelector::Selection::~Selection
virtual ~Selection()=default
MuonCalib::MuonCalibSelector::TrackSelection::endcapTrackA
bool endcapTrackA
Definition: MuonCalibSelector.h:54
MuonCalib::MuonCalibExtendedTrack
Definition: MuonCalibExtendedTrack.h:32
checker_macros.h
Define macros for attributes used to control the static checker.
MuonCalib::MuonCalibSelector::TrackSelection::TrackSelection
TrackSelection()=default
MuonCalib::MuonCalibSelector::Selection::nminEtaTrigHits
unsigned int nminEtaTrigHits
minimum number of eta trigger hits
Definition: MuonCalibSelector.h:35
MuonCalib::MuonCalibExtendedSegment
Definition: MuonCalibExtendedSegment.h:27
NSWL1::PadTriggerAdapter::segment
Muon::NSW_PadTriggerSegment segment(const NSWL1::PadTrigger &data)
Definition: PadTriggerAdapter.cxx:5
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65