ATLAS Offline Software
Loading...
Searching...
No Matches
CombinedMuonFeature.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef TRIGMUONEVENT_COMBINED_MUON_FEATURE_H
6#define TRIGMUONEVENT_COMBINED_MUON_FEATURE_H
7
8// Gaudi/Athena include(s):
14#include "AthLinks/ElementLink.h"
16
17// STL include(s):
18#include <vector>
19#include <map>
20#include <string>
21
22// Trigger include(s):
25
28 virtual public INavigable4Momentum {
29
30public:
32 CombinedMuonFeature(float ptsigned, float sigma_pt,
33 const ElementLink< MuonFeatureContainer>& muFastOutput,
34 const ElementLink< TrigInDetTrackCollection>& IdscanOutput);
35
36 CombinedMuonFeature(float ptsigned, float sigma_pt, int fs, int fe, int fm,
37 const ElementLink< MuonFeatureContainer>& muFastOutput,
38 const ElementLink< TrigInDetTrackCollection>& IdscanOutput);
39
40 CombinedMuonFeature(float pt, float sigma_pt, float q, int fs, int fe, int fm,
41 const ElementLink< MuonFeatureContainer>& muFastOutput,
42 const ElementLink< TrigInDetTrackCollection>& IdscanOutput);
43
44 CombinedMuonFeature(float pt, float sigma_pt, float q, int flag,
45 const ElementLink< MuonFeatureContainer>& muFastOutput,
46 const ElementLink< TrigInDetTrackCollection>& IdscanOutput);
47
48 CombinedMuonFeature(const CombinedMuonFeature* muon_feature);
49 CombinedMuonFeature(const CombinedMuonFeature& muon_feature);
50
51public:
53
54 double pt(void) const {return fabs(m_pt);}
55 double charge(void) const {return fabs(m_charge)>0?m_charge:(m_pt>0?1.0:-1.0);}
56 double ptq(void) const {return fabs(m_charge)>0?m_pt*m_charge:m_pt;}
57 double sigma_pt(void) const;
58 double sigma_pt_raw(void) const { return m_sigma_pt; }
59 int comb_strategy(void) const;
60 int comb_errorFlag(void) const;
61 int comb_matchFlag(void) const;
62 int getFlag(void) const { return m_flag; }
63 const MuonFeature* muFastTrack(void) const {return m_muFastTrack.isValid() ? *m_muFastTrack : 0;}
64 const TrigInDetTrack* IDTrack(void) const {return m_IDTrack.isValid() ? *m_IDTrack : 0;}
67
68 double eta(void) const;
69 double phi(void) const;
70 double m(void) const {return ParticleConstants::muonMassInMeV;}
71
72
73private:
74 float m_pt;
76 float m_charge;
77 int m_flag;
80};
81
83std::string str( const CombinedMuonFeature& d );
85MsgStream& operator<< ( MsgStream& m, const CombinedMuonFeature& d );
86
89
90
92void diff( const CombinedMuonFeature& a, const CombinedMuonFeature& b,
93 std::map< std::string, double >& variableChange );
94
97
98#endif // TRIGMUONEVENT_COMBINED_MUON_FEATURE_H
void diff(const CombinedMuonFeature &a, const CombinedMuonFeature &b, std::map< std::string, double > &variableChange)
Comparison with feedback.
MsgStream & operator<<(MsgStream &m, const CombinedMuonFeature &d)
Helper operator for printing the object.
bool operator==(const CombinedMuonFeature &a, const CombinedMuonFeature &b)
Operator comparing two CombinedMuonFeature objects for equality.
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
An STL vector of pointers that by default owns its pointed-to elements.
static Double_t a
static Double_t fs
A number of constexpr particle constants to avoid hardcoding them directly in various places.
const ElementLink< MuonFeatureContainer > & muFastTrackLink(void) const
CombinedMuonFeature & operator=(const CombinedMuonFeature &muon_feature)
double charge(void) const
double ptq(void) const
const MuonFeature * muFastTrack(void) const
double m(void) const
mass
const ElementLink< TrigInDetTrackCollection > & IDTrackLink(void) const
ElementLink< MuonFeatureContainer > m_muFastTrack
double pt(void) const
transverse momentum
double sigma_pt(void) const
double eta(void) const
pseudo rapidity
ElementLink< TrigInDetTrackCollection > m_IDTrack
const TrigInDetTrack * IDTrack(void) const
double sigma_pt_raw(void) const
double phi(void) const
phi in [-pi,pi[
int comb_strategy(void) const
Derived DataVector<T>.
Definition DataVector.h:818
P4PtEtaPhiMBase is a base class for classes with 4-momentum behavior, for which pt,...
represents a LVL2 ID track
constexpr double muonMassInMeV
the mass of the muon (in MeV)