ATLAS Offline Software
Loading...
Searching...
No Matches
ElectronMuonTopoInfo.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/**************************************************************************
6 **
7 ** File: Trigger/TrigEvent/TrigTopoEvent/ElectronMuonTopoInfo.h
8 **
9 ** Description: -Class for description of combined electron-muon object for
10 ** algorithms in TrigEgammaMuonCombHypo package
11 **
12 ** Author: Pavel Jez <pavel.jez@cern.ch>
13 **
14 ** Created: Apr 9, 2011
15 **
16 **
17 **************************************************************************/
18
19#ifndef _ELECTRONMUONTOPOINFO_H_
20#define _ELECTRONMUONTOPOINFO_H_
21
22// standard stuff
23#include <string>
24#include <map>
25#include <cmath>
26// general athena stuff
27#include "GaudiKernel/MsgStream.h"
29
37
39
40 public:
42 ElectronMuonTopoInfo(int roiWord, float deltaPhi=-1., float deltaR = -1., float invMass = -1., bool el_valid = false, bool oppositeCharge = 0, unsigned short vertexState =0);
43
45
46
48
49 int RoiWord() const { return m_roiWord; }
50 float DeltaPhi() const { return m_DeltaPhi; }
51 float DeltaR() const { return m_DeltaR; }
52 float InvMass() const { return m_InvMass; }
53 bool ElecValid() const{ return m_electronValid; }
54 bool OppositeCharge() const { return m_oppositeCharge; }
55 unsigned short VertexState() const { return m_vertexState;}
56
57
59 void SetRoiWord(int RoiWord);
60 void SetDeltaPhi(float DeltaPhi);
61 void SetDeltaR(float DeltaR);
62 void SetInvMass(float InvMass);
63 void SetElecValid(bool ElecValid);
65 void SetVertexState(unsigned short vextexState);
66
67 private:
73 float m_DeltaR;
75 float m_InvMass;
81 unsigned short m_vertexState;
82
83};
84
86std::string str( const ElectronMuonTopoInfo& d );
87
88MsgStream& operator<< ( MsgStream& m, const ElectronMuonTopoInfo& d );
89
90// comparison operators
91bool operator==( const ElectronMuonTopoInfo& d1, const ElectronMuonTopoInfo& d2 );
92inline bool operator!=( const ElectronMuonTopoInfo& d1, const ElectronMuonTopoInfo& d2 ) {
93 return !( d1 == d2 );
94 }
95
96
97CLASS_DEF( ElectronMuonTopoInfo , 129722551 , 1 )
98
99
100#endif //ELECTRONMUONTOPOINFO_H_
101
Scalar deltaPhi(const MatrixBase< Derived > &vec) const
Scalar deltaR(const MatrixBase< Derived > &vec) const
macros to associate a CLID to a type
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
bool operator==(const ElectronMuonTopoInfo &d1, const ElectronMuonTopoInfo &d2)
MsgStream & operator<<(MsgStream &m, const ElectronMuonTopoInfo &d)
bool operator!=(const ElectronMuonTopoInfo &d1, const ElectronMuonTopoInfo &d2)
ElectronMuonTopoInfo is a class for storing information about combuned electron-muon object.
float m_DeltaR
Delta R between electron and muon.
void SetOppositeCharge(bool OppositeCharge)
unsigned short m_vertexState
3 bit description of vertex: 0=common, 1=not common, 3= not applicable
float m_DeltaPhi
Delta Phi between electron and muon.
void SetElecValid(bool ElecValid)
unsigned short VertexState() const
void SetDeltaR(float DeltaR)
int m_roiWord
Identifier of the RoI.
void SetVertexState(unsigned short vextexState)
bool m_electronValid
boolean flag showing the validity of electron
void SetInvMass(float InvMass)
void SetRoiWord(int RoiWord)
set methods
int RoiWord() const
accessor methods
float m_InvMass
Invariant mass of electron and muon.
void SetDeltaPhi(float DeltaPhi)
bool m_oppositeCharge
True if electron and muon have opposite charged.