ATLAS Offline Software
TrigL2Bphys.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 
3 /*
4  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 
24 #ifndef TRIG_L2BPHYS
25 #define TRIG_L2BPHYS
26 
27 #include <vector>
28 #include <iostream>
29 #include <string>
30 #include <map>
31 
34 #include "AthLinks/ElementLink.h"
35 #include "AthLinks/ElementLinkVector.h"
37 class TrigL2Bphys;
38 
39 
41 
42 
43 class TrigL2Bphys {
44  public:
45 
49  TrigL2Bphys();
50 
52  TrigL2Bphys(int roi, float eta, float phi, pType particleType,
53  float mass, const ElementLink<TrigL2BphysContainer>& sDecay);
54 
56  TrigL2Bphys(int roi, float eta, float phi, pType particleType, float mass);
57 
58 
59  TrigL2Bphys(const TrigL2Bphys& te) = default;
60  TrigL2Bphys& operator=(const TrigL2Bphys& te) = default;
61 
63  ~TrigL2Bphys() = default;
64 
66  int roiId() const { return m_roiID; }
68  pType particleType() const { return m_particleType; }
70  float eta() const { return m_eta; }
72  float phi() const { return m_phi; }
74  float mass() const { return m_mass; }
76  float fitmass() const { return m_fitmass; }
78  float fitchi2() const { return m_fitchi2; }
80  int fitndof() const { return m_fitndof; }
82  float fitx() const { return m_fitx; }
84  float fity() const { return m_fity; }
86  float fitz() const { return m_fitz; }
87 
89  const TrigL2Bphys* pSecondDecay() const ;
91 
94 
96  void fitmass(float FitMass);
98  void fitchi2(float FitChi2);
100  void fitndof(int FitNdof);
102  void fitx(float FitX);
104  void fity(float FitY);
106  void fitz(float FitZ);
110  void pSecondDecay(ElementLink<TrigL2BphysContainer> p_secondaryDecay);
111 
112  private:
113 
114  // private data members
115 
116  int m_roiID;
118  float m_eta;
119  float m_phi;
120  float m_mass;
121  float m_fitmass;
122  float m_fitchi2;
124  float m_fitx;
125  float m_fity;
126  float m_fitz;
129 };
130 
131 std::string str( const TrigL2Bphys& p ); //<! printing helper
132 MsgStream& operator<< ( MsgStream& m, const TrigL2Bphys& p ); //<! printing helper (wraps above)
133 bool operator== ( const TrigL2Bphys& a, const TrigL2Bphys& b );
134 inline bool operator!= ( const TrigL2Bphys& a, const TrigL2Bphys& b ) { return !(a==b); }
142 void diff( const TrigL2Bphys& a, const TrigL2Bphys& b, std::map<std::string, double>& variableChange );
143 
144 
145 CLASS_DEF( TrigL2Bphys , 118841261 , 1 )
146 
147 #endif // TRIG_BPHYS
TrigL2Bphys::fitndof
int fitndof() const
accessor method: ndof from vertex fit
Definition: TrigL2Bphys.h:80
TrigL2Bphys::LBLMUMU
@ LBLMUMU
Definition: TrigL2Bphys.h:47
TrigL2Bphys::m_fity
float m_fity
Definition: TrigL2Bphys.h:125
TrigL2Bphys::operator=
TrigL2Bphys & operator=(const TrigL2Bphys &te)=default
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
TrigL2Bphys::TrigL2Bphys
TrigL2Bphys(const TrigL2Bphys &te)=default
TrigL2Bphys::roiId
int roiId() const
accessor method: ID of L1 RoI
Definition: TrigL2Bphys.h:66
TrigL2Bphys::addTrack
void addTrack(const ElementLink< TrigInDetTrackCollection > &track)
set method: add track to particle
Definition: TrigL2Bphys.cxx:58
TrigL2Bphys::m_phi
float m_phi
Definition: TrigL2Bphys.h:119
TrigL2Bphys::eta
float eta() const
accessor method: eta
Definition: TrigL2Bphys.h:70
TrigL2Bphys::m_particleType
pType m_particleType
Definition: TrigL2Bphys.h:117
TrigL2Bphys::BCDSMUMU
@ BCDSMUMU
Definition: TrigL2Bphys.h:47
TrigL2Bphys::fitchi2
float fitchi2() const
accessor method: chi2 from vertex fit
Definition: TrigL2Bphys.h:78
TrigL2Bphys::m_fitx
float m_fitx
Definition: TrigL2Bphys.h:124
TrigL2Bphys::JPSIMUMU
@ JPSIMUMU
Definition: TrigL2Bphys.h:47
TrigL2Bphys::BSPHIMUMU
@ BSPHIMUMU
Definition: TrigL2Bphys.h:47
str
std::string str(const TrigL2Bphys &p)
Definition: TrigL2Bphys.cxx:103
TrigL2Bphys::DSPHIPI
@ DSPHIPI
Definition: TrigL2Bphys.h:47
TrigL2Bphys::particleType
pType particleType() const
accessor method: particle Type
Definition: TrigL2Bphys.h:68
TrigL2Bphys
Definition: TrigL2Bphys.h:43
TrigL2Bphys::PHIKK
@ PHIKK
Definition: TrigL2Bphys.h:47
TrigInDetTrackCollection.h
ElementLinkVector< TrigInDetTrackCollection >
operator!=
bool operator!=(const TrigL2Bphys &a, const TrigL2Bphys &b)
Definition: TrigL2Bphys.h:134
TrigL2Bphys::BMUMUX
@ BMUMUX
Definition: TrigL2Bphys.h:47
particleType
Definition: particleType.h:29
TrigL2Bphys::BDKSTMUMU
@ BDKSTMUMU
Definition: TrigL2Bphys.h:47
TrigL2Bphys::m_eta
float m_eta
Definition: TrigL2Bphys.h:118
diff
void diff(const TrigL2Bphys &a, const TrigL2Bphys &b, std::map< std::string, double > &variableChange)
comparison with feedback Function compares two objects and returns "semi verbose" output in the form ...
Definition: TrigL2Bphys.cxx:160
TrigL2Bphys::JPSIEE
@ JPSIEE
Definition: TrigL2Bphys.h:47
TrigL2Bphys::m_fitchi2
float m_fitchi2
Definition: TrigL2Bphys.h:122
TrigL2Bphys::BMUMU
@ BMUMU
Definition: TrigL2Bphys.h:47
TrigL2Bphys::fitz
float fitz() const
accessor method: z position of vertex
Definition: TrigL2Bphys.h:86
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
operator<<
MsgStream & operator<<(MsgStream &m, const TrigL2Bphys &p)
Definition: TrigL2Bphys.cxx:121
TrigL2Bphys::m_trackVector
ElementLinkVector< TrigInDetTrackCollection > m_trackVector
Definition: TrigL2Bphys.h:128
TrigL2Bphys::fity
float fity() const
accessor method: y position of vertex
Definition: TrigL2Bphys.h:84
TrigL2Bphys::m_fitmass
float m_fitmass
Definition: TrigL2Bphys.h:121
ELEMENTLINK_FWD
ELEMENTLINK_FWD(TrigL2BphysContainer, TrigL2Bphys)
TrigL2Bphys::m_mass
float m_mass
Definition: TrigL2Bphys.h:120
TrigL2Bphys::MULTIMU
@ MULTIMU
Definition: TrigL2Bphys.h:47
TrigL2Bphys::fitx
float fitx() const
accessor method: x position of vertex
Definition: TrigL2Bphys.h:82
TrigL2Bphys::secondaryDecayLink
const ElementLink< TrigL2BphysContainer > & secondaryDecayLink() const
Definition: TrigL2Bphys.cxx:68
TrigL2Bphys::pType
pType
enum for different particle types
Definition: TrigL2Bphys.h:47
TrigL2Bphys::m_secondaryDecay
ElementLink< TrigL2BphysContainer > m_secondaryDecay
Definition: TrigL2Bphys.h:127
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TrigL2Bphys::BKMUMU
@ BKMUMU
Definition: TrigL2Bphys.h:47
TrigL2Bphys::mass
float mass() const
accessor method: mass
Definition: TrigL2Bphys.h:74
operator==
bool operator==(const TrigL2Bphys &a, const TrigL2Bphys &b)
Definition: TrigL2Bphys.cxx:127
a
TList * a
Definition: liststreamerinfos.cxx:10
TrigL2Bphys::m_roiID
int m_roiID
Definition: TrigL2Bphys.h:116
TrigL2Bphys::trackVector
const ElementLinkVector< TrigInDetTrackCollection > & trackVector() const
accessor method:vector of tracks used to make particle
Definition: TrigL2Bphys.h:93
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
TrigL2BphysContainer
Definition: TrigL2BphysContainer.h:33
TrigL2Bphys::m_fitz
float m_fitz
Definition: TrigL2Bphys.h:126
TrigL2Bphys::fitmass
float fitmass() const
accessor method: mass from vertex fit
Definition: TrigL2Bphys.h:76
TrigL2Bphys::pSecondDecay
const TrigL2Bphys * pSecondDecay() const
accessor method: secondary decay particle
Definition: TrigL2Bphys.cxx:173
TrigL2Bphys::TrigL2Bphys
TrigL2Bphys()
constructors; note: default constructor needed by POOL
Definition: TrigL2Bphys.cxx:29
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
TrigL2Bphys::m_fitndof
int m_fitndof
Definition: TrigL2Bphys.h:123
TrigL2Bphys::phi
float phi() const
accessor method: phi
Definition: TrigL2Bphys.h:72
TrigVertexCollection.h
TrigL2Bphys::~TrigL2Bphys
~TrigL2Bphys()=default
destructor