ATLAS Offline Software
Loading...
Searching...
No Matches
MuonCalib::MuonCalibPattern Class Reference

Class to store the information belonging to a global pattern in the muon system. More...

#include <MuonCalibPattern.h>

Collaboration diagram for MuonCalib::MuonCalibPattern:

Classes

struct  defineParams

Public Types

using MuonCalibSegPtr = std::shared_ptr<MuonCalibSegment>
 typedef for a set of (pointers to) MuonCalibSegments
using MuonSegmentVec = std::vector<MuonCalibSegPtr>
 typedef for the iterator of the set of MuonCalibSegments

Public Member Functions

 MuonCalibPattern ()=default
 Default constructor.
 MuonCalibPattern (const MuonCalibPattern &pat)
 Copy constructor.
MuonCalibPatternoperator= (const MuonCalibPattern &pat)
 assignment operator.
 ~MuonCalibPattern ()=default
 destructor
 MuonCalibPattern (const defineParams &pars)
 constructor initializing the pattern with trackparameters, chi2 and
unsigned int muonSegments () const
 retrieve number of segments
const MuonSegmentVecmuonSegs () const
 retrieve the whole set of MuonCalibSegments: reference to the segment vector
MuonSegmentVecmuonSegs ()
 retrieve the whole set of MuonCalibSegments: reference to the segment vector
double chi2 () const
 retrieve chi2 of the pattern
double z0 () const
 retrieve the z0 (track)parameter of the pattern
double r0 () const
 retrieve the r0 (track)parameter of the pattern
double invP () const
 retrieve the invP (track)parameter of the pattern
double phi () const
 retrieve the phi (track)parameter of the pattern
double theta () const
 retrieve the theta (track)parameter of the pattern
unsigned int nmdtHits () const
 < retrieve number of MDT hits. Counting convention: 1000*eta hits + phi hits. Note that MDTs only measure eta hits
unsigned int nrpcHits () const
 retrieve number of TGC hits.
unsigned int ntgcHits () const
 retrieve number of CSC hits.
unsigned int ncscHits () const
void addMuonSegment (MuonCalibSegPtr seg)
std::ostream & dump (std::ostream &os) const

Private Member Functions

void copy (const MuonCalibPattern &other)

Private Attributes

MuonSegmentVec m_muonSegments
 set of MuonCalibSegments assigned to this MuonCalibPattern
defineParams m_pars

Detailed Description

Class to store the information belonging to a global pattern in the muon system.

It contains all information needed to calibrate the different technologies in the muon system.

The pattern recognition provides the MuonCalibPattern, optionally one can provide the number of hits associated to the pattern. MuonCalibSegment s that are identified to belong to the same trajectory are assigned to the MuonCalibPattern. Furthermore, the MuonCalibPattern contains a goodness of fit and an estimate of the track parameters.

Definition at line 42 of file MuonCalibPattern.h.

Member Typedef Documentation

◆ MuonCalibSegPtr

typedef for a set of (pointers to) MuonCalibSegments

Definition at line 44 of file MuonCalibPattern.h.

◆ MuonSegmentVec

typedef for the iterator of the set of MuonCalibSegments

Definition at line 46 of file MuonCalibPattern.h.

Constructor & Destructor Documentation

◆ MuonCalibPattern() [1/3]

MuonCalib::MuonCalibPattern::MuonCalibPattern ( )
default

Default constructor.

◆ MuonCalibPattern() [2/3]

MuonCalib::MuonCalibPattern::MuonCalibPattern ( const MuonCalibPattern & pat)

Copy constructor.

Not sure wether we need it...

Definition at line 46 of file MuonCalibPattern.cxx.

46{ copy(other); }
void copy(const MuonCalibPattern &other)

◆ ~MuonCalibPattern()

MuonCalib::MuonCalibPattern::~MuonCalibPattern ( )
default

destructor

◆ MuonCalibPattern() [3/3]

MuonCalib::MuonCalibPattern::MuonCalibPattern ( const defineParams & pars)

constructor initializing the pattern with trackparameters, chi2 and

number of hits in the different technologies.

Definition at line 34 of file MuonCalibPattern.cxx.

34 : m_pars{pars} {
35 std::cout << "Consider to add NSW information here " << __FILE__ << ":" << __LINE__ << std::endl;
36 }

Member Function Documentation

◆ addMuonSegment()

void MuonCalib::MuonCalibPattern::addMuonSegment ( MuonCalibSegPtr seg)

Definition at line 32 of file MuonCalibPattern.cxx.

32{ m_muonSegments.emplace_back(std::move(seg)); }
MuonSegmentVec m_muonSegments
set of MuonCalibSegments assigned to this MuonCalibPattern

◆ chi2()

double MuonCalib::MuonCalibPattern::chi2 ( ) const

retrieve chi2 of the pattern

Definition at line 19 of file MuonCalibPattern.cxx.

19{ return m_pars.chi2; }

◆ copy()

void MuonCalib::MuonCalibPattern::copy ( const MuonCalibPattern & other)
private

Need to find out whether the segment should be copied or not

Definition at line 38 of file MuonCalibPattern.cxx.

38 {
39 m_pars = other.m_pars;
41 for (const MuonCalibSegPtr& other_seg : other.muonSegs()) {
42 MuonCalibSegPtr seg{new MuonCalibSegment(*other_seg)};
43 addMuonSegment(seg);
44 }
45 }
std::shared_ptr< MuonCalibSegment > MuonCalibSegPtr
typedef for a set of (pointers to) MuonCalibSegments
void addMuonSegment(MuonCalibSegPtr seg)

◆ dump()

std::ostream & MuonCalib::MuonCalibPattern::dump ( std::ostream & os) const

Definition at line 52 of file MuonCalibPattern.cxx.

52 {
53 os << "MuonCalibPattern: chi2 " << chi2() << " invP " << invP() << " nsegments " << muonSegments() << std::endl
54 << " (r0,z0) = (" << r0() << "," << z0() << ") (phi,theta) = (" << phi() << "," << theta() << ")";
55 return os;
56 }
double r0() const
retrieve the r0 (track)parameter of the pattern
double phi() const
retrieve the phi (track)parameter of the pattern
double invP() const
retrieve the invP (track)parameter of the pattern
double z0() const
retrieve the z0 (track)parameter of the pattern
unsigned int muonSegments() const
retrieve number of segments
double theta() const
retrieve the theta (track)parameter of the pattern
double chi2() const
retrieve chi2 of the pattern

◆ invP()

double MuonCalib::MuonCalibPattern::invP ( ) const

retrieve the invP (track)parameter of the pattern

Definition at line 22 of file MuonCalibPattern.cxx.

22{ return m_pars.invP; }

◆ muonSegments()

unsigned int MuonCalib::MuonCalibPattern::muonSegments ( ) const

retrieve number of segments

Definition at line 14 of file MuonCalibPattern.cxx.

14{ return m_muonSegments.size(); }

◆ muonSegs() [1/2]

MuonCalibPattern::MuonSegmentVec & MuonCalib::MuonCalibPattern::muonSegs ( )

retrieve the whole set of MuonCalibSegments: reference to the segment vector

Definition at line 16 of file MuonCalibPattern.cxx.

16{ return m_muonSegments; }

◆ muonSegs() [2/2]

const MuonCalibPattern::MuonSegmentVec & MuonCalib::MuonCalibPattern::muonSegs ( ) const

retrieve the whole set of MuonCalibSegments: reference to the segment vector

Definition at line 15 of file MuonCalibPattern.cxx.

15{ return m_muonSegments; }

◆ ncscHits()

unsigned int MuonCalib::MuonCalibPattern::ncscHits ( ) const

Definition at line 29 of file MuonCalibPattern.cxx.

29{ return m_pars.ncsc; }

◆ nmdtHits()

unsigned int MuonCalib::MuonCalibPattern::nmdtHits ( ) const

< retrieve number of MDT hits. Counting convention: 1000*eta hits + phi hits. Note that MDTs only measure eta hits

retrieve number of RPC hits. Counting convention: 1000*eta hits + phi hits.

Definition at line 26 of file MuonCalibPattern.cxx.

26{ return m_pars.nmdt; }

◆ nrpcHits()

unsigned int MuonCalib::MuonCalibPattern::nrpcHits ( ) const

retrieve number of TGC hits.

Counting convention: 1000*eta hits + phi hits.

Definition at line 27 of file MuonCalibPattern.cxx.

27{ return m_pars.nrpc; }

◆ ntgcHits()

unsigned int MuonCalib::MuonCalibPattern::ntgcHits ( ) const

retrieve number of CSC hits.

Counting convention: 1000*eta hits + phi hits.

Definition at line 28 of file MuonCalibPattern.cxx.

28{ return m_pars.ntgc; }

◆ operator=()

MuonCalibPattern & MuonCalib::MuonCalibPattern::operator= ( const MuonCalibPattern & pat)

assignment operator.

Not sure whether we need it...

Definition at line 47 of file MuonCalibPattern.cxx.

47 {
48 if (this != &pat) { copy(pat); }
49 return *this;
50 }

◆ phi()

double MuonCalib::MuonCalibPattern::phi ( ) const

retrieve the phi (track)parameter of the pattern

Definition at line 23 of file MuonCalibPattern.cxx.

23{ return m_pars.phi; }

◆ r0()

double MuonCalib::MuonCalibPattern::r0 ( ) const

retrieve the r0 (track)parameter of the pattern

Definition at line 21 of file MuonCalibPattern.cxx.

21{ return m_pars.dist0; }

◆ theta()

double MuonCalib::MuonCalibPattern::theta ( ) const

retrieve the theta (track)parameter of the pattern

Definition at line 24 of file MuonCalibPattern.cxx.

24{ return m_pars.theta; }

◆ z0()

double MuonCalib::MuonCalibPattern::z0 ( ) const

retrieve the z0 (track)parameter of the pattern

Definition at line 20 of file MuonCalibPattern.cxx.

20{ return m_pars.z0; }

Member Data Documentation

◆ m_muonSegments

MuonSegmentVec MuonCalib::MuonCalibPattern::m_muonSegments
private

set of MuonCalibSegments assigned to this MuonCalibPattern

Definition at line 111 of file MuonCalibPattern.h.

◆ m_pars

defineParams MuonCalib::MuonCalibPattern::m_pars
private

Definition at line 114 of file MuonCalibPattern.h.


The documentation for this class was generated from the following files: