ATLAS Offline Software
TrigEFBphys.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_EFBPHYS
25 #define TRIG_EFBPHYS
26 
27 #include "AthenaKernel/CLASS_DEF.h"
28 
29 #include <vector>
30 #include <iostream>
31 #include <string>
32 #include <map>
33 
35 #include "AthLinks/ElementLink.h"
36 #include "AthLinks/ElementLinkVector.h"
38 class TrigEFBphys;
39 
41 
42 class TrigEFBphys {
43 
44  public:
45 
49  TrigEFBphys();
50 
52  TrigEFBphys(int roi, float eta, float phi, pType particleType,
53  float mass);
54 
56  TrigEFBphys(int roi, float eta, float phi, pType particleType,
57  float mass, const ElementLink<TrigEFBphysContainer>& sDecay);
58 
60  ~TrigEFBphys() = default;
61 
63  int roiId() const { return m_roiID; }
65  pType particleType() const { return m_particleType; }
67  float eta() const { return m_eta; }
69  float phi() const { return m_phi; }
71  float mass() const { return m_mass; }
73  float fitmass() const { return m_fitmass; }
75  float fitchi2() const { return m_fitchi2; }
77  int fitndof() const { return m_fitndof; }
79  float fitx() const { return m_fitx; }
81  float fity() const { return m_fity; }
83  float fitz() const { return m_fitz; }
85  const TrigEFBphys* pSecondDecay() const;
87 
90 
92  void fitmass(float FitMass);
94  void fitchi2(float FitChi2);
96  void fitndof(int FitNdof);
98  void fitx(float FitX);
100  void fity(float FitY);
102  void fitz(float FitZ);
106  void pSecondDecay(ElementLink<TrigEFBphysContainer> p_secondaryDecay);
107 
108  private:
109 
110  // private data members
111 
112  int m_roiID;
114  float m_eta;
115  float m_phi;
116  float m_mass;
117  float m_fitmass;
118  float m_fitchi2;
120  float m_fitx;
121  float m_fity;
122  float m_fitz;
125 };
126 
127 std::string str( const TrigEFBphys& p ); //<! printing helper
128 MsgStream& operator<< ( MsgStream& m, const TrigEFBphys& p ); //<! printing helper (wraps above)
129 bool operator == ( const TrigEFBphys& a, const TrigEFBphys& b );
130 inline bool operator != ( const TrigEFBphys& a, const TrigEFBphys& b ) { return !(a==b); }
131 
139 void diff( const TrigEFBphys& a, const TrigEFBphys& b, std::map<std::string, double>& variableChange );
140 
141 
142 CLASS_DEF( TrigEFBphys , 54197992 , 1 )
143 
144 #endif // TRIG_BPHYS
TrigEFBphys::fity
float fity() const
accessor method: y position of vertex
Definition: TrigEFBphys.h:81
TrigEFBphys::phi
float phi() const
accessor method: phi
Definition: TrigEFBphys.h:69
TrigEFBphys::m_fitz
float m_fitz
Definition: TrigEFBphys.h:122
TrigEFBphys::BMUMUX
@ BMUMUX
Definition: TrigEFBphys.h:47
TrigEFBphys::fitmass
float fitmass() const
accessor method: mass from vertex fit
Definition: TrigEFBphys.h:73
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
TrigEFBphys
Definition: TrigEFBphys.h:42
TrigEFBphys::TrigEFBphys
TrigEFBphys()
constructors; note: default constructor needed by POOL
Definition: TrigEFBphys.cxx:28
TrigEFBphys::fitz
float fitz() const
accessor method: z position of vertex
Definition: TrigEFBphys.h:83
TrigEFBphys::eta
float eta() const
accessor method: eta
Definition: TrigEFBphys.h:67
TrigEFBphys::MULTIMU
@ MULTIMU
Definition: TrigEFBphys.h:47
operator==
bool operator==(const TrigEFBphys &a, const TrigEFBphys &b)
Definition: TrigEFBphys.cxx:119
TrigEFBphys::BDKSTMUMU
@ BDKSTMUMU
Definition: TrigEFBphys.h:47
TrigEFBphys::LBLMUMU
@ LBLMUMU
Definition: TrigEFBphys.h:47
TrigEFBphys::pSecondDecay
const TrigEFBphys * pSecondDecay() const
accessor method: secondary decay particle
Definition: TrigEFBphys.cxx:166
TrigEFBphys::~TrigEFBphys
~TrigEFBphys()=default
destructor
str
std::string str(const TrigEFBphys &p)
Definition: TrigEFBphys.cxx:101
TrigEFBphys::fitchi2
float fitchi2() const
accessor method: chi2 from vertex fit
Definition: TrigEFBphys.h:75
particleType
Definition: particleType.h:29
operator!=
bool operator!=(const TrigEFBphys &a, const TrigEFBphys &b)
Definition: TrigEFBphys.h:130
TrigEFBphys::m_fity
float m_fity
Definition: TrigEFBphys.h:121
TrigEFBphys::m_particleType
pType m_particleType
Definition: TrigEFBphys.h:113
TrigEFBphys::m_mass
float m_mass
Definition: TrigEFBphys.h:116
TrigEFBphys::m_phi
float m_phi
Definition: TrigEFBphys.h:115
TrigEFBphys::PHIKK
@ PHIKK
Definition: TrigEFBphys.h:47
TrigEFBphys::addTrack
void addTrack(const ElementLink< Rec::TrackParticleContainer > &track)
set method: add track to particle
Definition: TrigEFBphys.cxx:56
operator<<
MsgStream & operator<<(MsgStream &m, const TrigEFBphys &p)
Definition: TrigEFBphys.cxx:95
TrigEFBphys::BKMUMU
@ BKMUMU
Definition: TrigEFBphys.h:47
TrigEFBphys::secondaryDecayLink
const ElementLink< TrigEFBphysContainer > & secondaryDecayLink() const
Definition: TrigEFBphys.cxx:175
TrigEFBphys::DSPHIPI
@ DSPHIPI
Definition: TrigEFBphys.h:47
TrigEFBphys::trackVector
const ElementLinkVector< Rec::TrackParticleContainer > & trackVector() const
accessor method:vector of tracks used to make particle
Definition: TrigEFBphys.h:89
TrigEFBphys::BMUMU
@ BMUMU
Definition: TrigEFBphys.h:47
TrigEFBphys::BSPHIMUMU
@ BSPHIMUMU
Definition: TrigEFBphys.h:47
TrigEFBphys::mass
float mass() const
accessor method: mass
Definition: TrigEFBphys.h:71
TrigEFBphys::fitndof
int fitndof() const
accessor method: ndof from vertex fit
Definition: TrigEFBphys.h:77
TrigEFBphys::m_fitndof
int m_fitndof
Definition: TrigEFBphys.h:119
ElementLinkVector< Rec::TrackParticleContainer >
TrigEFBphys::pType
pType
enum for different particle types
Definition: TrigEFBphys.h:47
TrigEFBphys::BCDSMUMU
@ BCDSMUMU
Definition: TrigEFBphys.h:47
diff
void diff(const TrigEFBphys &a, const TrigEFBphys &b, std::map< std::string, double > &variableChange)
comparison with feedback Function compares two objects and returns "semi verbose" output in the form ...
Definition: TrigEFBphys.cxx:152
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
TrigEFBphys::roiId
int roiId() const
accessor method: ID of L1 RoI
Definition: TrigEFBphys.h:63
ELEMENTLINK_FWD
ELEMENTLINK_FWD(TrigEFBphysContainer, TrigEFBphys)
TrigEFBphys::JPSIEE
@ JPSIEE
Definition: TrigEFBphys.h:47
TrigEFBphys::m_fitmass
float m_fitmass
Definition: TrigEFBphys.h:117
TrigEFBphys::m_fitx
float m_fitx
Definition: TrigEFBphys.h:120
a
TList * a
Definition: liststreamerinfos.cxx:10
TrigEFBphys::m_trackVector
ElementLinkVector< Rec::TrackParticleContainer > m_trackVector
Definition: TrigEFBphys.h:124
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
TrigEFBphys::m_eta
float m_eta
Definition: TrigEFBphys.h:114
TrigEFBphys::JPSIMUMU
@ JPSIMUMU
Definition: TrigEFBphys.h:47
TrigEFBphys::m_secondaryDecay
ElementLink< TrigEFBphysContainer > m_secondaryDecay
Definition: TrigEFBphys.h:123
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
TrigEFBphysContainer
Definition: TrigEFBphysContainer.h:34
TrigEFBphys::m_fitchi2
float m_fitchi2
Definition: TrigEFBphys.h:118
TrigEFBphys::particleType
pType particleType() const
accessor method: particle Type
Definition: TrigEFBphys.h:65
CLASS_DEF.h
macros to associate a CLID to a type
TrigEFBphys::m_roiID
int m_roiID
Definition: TrigEFBphys.h:112
TrackParticleContainer.h
TrigEFBphys::fitx
float fitx() const
accessor method: x position of vertex
Definition: TrigEFBphys.h:79