ATLAS Offline Software
Loading...
Searching...
No Matches
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
14namespace MuonCalib {
15
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};
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
Define macros for attributes used to control the static checker.
std::vector< ExtendedTrackPtr > TrackVec
std::vector< ExtendedSegmentPtr > SegmentVec
A segment plus everything one can dream of knowing about it.
A track plus everything one can dream of knowing about a track.
SegVec select(const SegVec &segments, const Selection *selection=nullptr) const
select segments satisfying selection.
EventHandler::SegmentVec SegVec
EventHandler::TrackVec TrackVec
const std::string selection
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
unsigned int nminMdtMl1
minimum number of MDT hits in ml 1
unsigned int nminEtaTrigHits
minimum number of eta trigger hits
unsigned int nmaxOutliers
maximum number of outliers
unsigned int nminMdtCh
minimum number of chambers MDT
unsigned int nmaxPseudo
maximum number of pseudo-measurements
unsigned int nminMdtHits
minimum number of MDT hits
unsigned int nminMdtMl2
minimum number of MDT hits in ml 1
unsigned int nminPhiTrigHits
minimum number of phi trigger hits
unsigned int nmaxMdtCh
maximum number of chambers MDT
double maxr0
maximum transverse impact parameter wrt I.P.
double maxz0
maximum longitudinal impact parameter at I.P.