CbmRoot
Loading...
Searching...
No Matches
LmvmCand.h
Go to the documentation of this file.
1
/* Copyright (C) 2015-2021 Justus-Liebig-Universitaet Giessen, Giessen
2
SPDX-License-Identifier: GPL-3.0-only
3
Authors: Elena Lebedeva [committer], Semen Lebedev */
4
5
#ifndef LMVM_CAND_H
6
#define LMVM_CAND_H
7
8
#include "TVector3.h"
9
10
#include "
LmvmDef.h
"
11
12
class
LmvmCand
{
13
public
:
14
LmvmCand
() {}
15
16
void
ResetMcParams
()
17
{
18
fMcSrc
=
ELmvmSrc::Undefined
;
19
fMcMotherId
= -1;
20
fStsMcTrackId
= -1;
21
fRichMcTrackId
= -1;
22
fTrdMcTrackId
= -1;
23
fTofMcTrackId
= -1;
24
}
25
26
void
SetIsTopologyCutElectron
(
ELmvmTopologyCut
cut,
bool
value)
27
{
28
if
(cut ==
ELmvmTopologyCut::TT
) {
fIsTtCut
= value; }
29
if
(cut ==
ELmvmTopologyCut::ST
) {
fIsStCut
= value; }
30
if
(cut ==
ELmvmTopologyCut::RT
) {
fIsRtCut
= value; }
31
}
32
33
bool
IsCutTill
(
ELmvmAnaStep
step)
const
34
{
35
if
(step ==
ELmvmAnaStep::Mc
|| step ==
ELmvmAnaStep::Acc
|| step ==
ELmvmAnaStep::Reco
)
return
true
;
36
if
(step ==
ELmvmAnaStep::Chi2Prim
&&
fIsChi2Prim
)
return
true
;
37
if
(step ==
ELmvmAnaStep::ElId
&&
IsCutTill
(
ELmvmAnaStep::Chi2Prim
) &&
fIsElectron
)
return
true
;
38
if
(step ==
ELmvmAnaStep::GammaCut
&&
IsCutTill
(
ELmvmAnaStep::ElId
) &&
fIsGammaCut
)
return
true
;
39
if
(step ==
ELmvmAnaStep::Mvd1Cut
&&
IsCutTill
(
ELmvmAnaStep::GammaCut
) &&
fIsMvd1Cut
)
return
true
;
40
if
(step ==
ELmvmAnaStep::Mvd2Cut
&&
IsCutTill
(
ELmvmAnaStep::Mvd1Cut
) &&
fIsMvd2Cut
)
return
true
;
41
if
(step ==
ELmvmAnaStep::StCut
&&
IsCutTill
(
ELmvmAnaStep::Mvd2Cut
) &&
fIsStCut
)
return
true
;
42
if
(step ==
ELmvmAnaStep::RtCut
&&
IsCutTill
(
ELmvmAnaStep::StCut
) &&
fIsRtCut
)
return
true
;
43
if
(step ==
ELmvmAnaStep::TtCut
&&
IsCutTill
(
ELmvmAnaStep::RtCut
) &&
fIsTtCut
)
return
true
;
44
if
(step ==
ELmvmAnaStep::PtCut
&&
IsCutTill
(
ELmvmAnaStep::TtCut
) &&
fIsPtCut
)
return
true
;
45
return
false
;
46
}
47
48
// track parameters
49
TVector3
fPosition
;
50
TVector3
fMomentum
;
51
double
fMass
= 0.;
52
double
fMassSig
= -1.;
// mass of signal mother (remains '-1' if candidate is not signal electron)
53
double
fEnergy
= 0.;
54
double
fRapidity
= 0.;
55
int
fCharge
= 0;
56
double
fChi2Prim
= 0.;
57
double
fChi2Sts
= 0.;
58
double
fChi2Rich
= 0.;
59
double
fChi2Trd
= 0.;
60
double
fChi2Tof
= 0.;
61
double
fLength
= 0.;
// length of according global track
62
double
fTime
= 0.;
//
63
double
fTofDist
= -1.;
// Hit-Track-Distance in ToF
64
65
// To investigate misidentifications in single sub detectors
66
bool
fIsRichElectron
=
false
;
67
bool
fIsTrdElectron
=
false
;
68
bool
fIsTofElectron
=
false
;
69
70
int
fMcMotherId
= -1;
71
int
fEventNumber
= 0;
72
int
fStsMcTrackId
= -1;
73
int
fRichMcTrackId
= -1;
74
int
fTrdMcTrackId
= -1;
75
int
fTofMcTrackId
= -1;
76
int
fStsInd
= -1;
77
int
fRichInd
= -1;
78
int
fTrdInd
= -1;
79
int
fTofInd
= -1;
// TODO: change to "fTofHitInd"
80
int
fTofTrackInd
= -1;
81
int
fMcPdg
= -1;
82
int
fGTrackInd
= -1;
83
double
fRichAnn
= 0.;
84
double
fTrdAnn
= 0.;
85
double
fMass2
= 0.;
86
double
fTrdLikeEl
= -1.;
87
double
fTrdLikePi
= -1.;
88
89
// Cuts. If true then cut is passed
90
bool
fIsChi2Prim
=
false
;
91
bool
fIsElectron
=
false
;
92
bool
fIsGammaCut
=
true
;
// Will be set to 'false' as soon as a partner with minv < 25 MeV is found
93
bool
fIsMvd1Cut
=
false
;
94
bool
fIsMvd2Cut
=
false
;
95
bool
fIsTtCut
=
false
;
96
bool
fIsStCut
=
false
;
97
bool
fIsRtCut
=
false
;
98
bool
fIsPtCut
=
false
;
99
100
// MC
101
ELmvmSrc
fMcSrc
=
ELmvmSrc::Undefined
;
102
bool
IsMcSignal
()
const
{
return
fMcSrc
==
ELmvmSrc::Signal
; }
103
bool
IsMcPi0
()
const
{
return
fMcSrc
==
ELmvmSrc::Pi0
; }
104
bool
IsMcGamma
()
const
{
return
fMcSrc
==
ELmvmSrc::Gamma
; }
105
bool
IsMcEta
()
const
{
return
fMcSrc
==
ELmvmSrc::Eta
; }
106
// for candidates BG is all candidates which are not signal
107
bool
fIsMcBg
()
const
{
return
fMcSrc
!=
ELmvmSrc::Signal
; }
108
};
109
110
#endif
LmvmDef.h
ELmvmSrc
ELmvmSrc
Definition
LmvmDef.h:23
ELmvmSrc::Signal
@ Signal
ELmvmSrc::Pi0
@ Pi0
ELmvmSrc::Eta
@ Eta
ELmvmSrc::Gamma
@ Gamma
ELmvmSrc::Undefined
@ Undefined
ELmvmAnaStep
ELmvmAnaStep
Definition
LmvmDef.h:34
ELmvmAnaStep::Reco
@ Reco
ELmvmAnaStep::Acc
@ Acc
ELmvmAnaStep::TtCut
@ TtCut
ELmvmAnaStep::RtCut
@ RtCut
ELmvmAnaStep::Mvd2Cut
@ Mvd2Cut
ELmvmAnaStep::Chi2Prim
@ Chi2Prim
ELmvmAnaStep::StCut
@ StCut
ELmvmAnaStep::Mvd1Cut
@ Mvd1Cut
ELmvmAnaStep::Mc
@ Mc
ELmvmAnaStep::ElId
@ ElId
ELmvmAnaStep::GammaCut
@ GammaCut
ELmvmAnaStep::PtCut
@ PtCut
ELmvmTopologyCut
ELmvmTopologyCut
Definition
LmvmDef.h:15
ELmvmTopologyCut::RT
@ RT
ELmvmTopologyCut::TT
@ TT
ELmvmTopologyCut::ST
@ ST
LmvmCand
Definition
LmvmCand.h:12
LmvmCand::fChi2Rich
double fChi2Rich
Definition
LmvmCand.h:58
LmvmCand::fChi2Tof
double fChi2Tof
Definition
LmvmCand.h:60
LmvmCand::IsMcPi0
bool IsMcPi0() const
Definition
LmvmCand.h:103
LmvmCand::fMcPdg
int fMcPdg
Definition
LmvmCand.h:81
LmvmCand::fIsTrdElectron
bool fIsTrdElectron
Definition
LmvmCand.h:67
LmvmCand::fIsGammaCut
bool fIsGammaCut
Definition
LmvmCand.h:92
LmvmCand::fIsRtCut
bool fIsRtCut
Definition
LmvmCand.h:97
LmvmCand::fRichInd
int fRichInd
Definition
LmvmCand.h:77
LmvmCand::fTrdLikeEl
double fTrdLikeEl
Definition
LmvmCand.h:86
LmvmCand::fChi2Sts
double fChi2Sts
Definition
LmvmCand.h:57
LmvmCand::fGTrackInd
int fGTrackInd
Definition
LmvmCand.h:82
LmvmCand::fStsMcTrackId
int fStsMcTrackId
Definition
LmvmCand.h:72
LmvmCand::fCharge
int fCharge
Definition
LmvmCand.h:55
LmvmCand::fEnergy
double fEnergy
Definition
LmvmCand.h:53
LmvmCand::fTofMcTrackId
int fTofMcTrackId
Definition
LmvmCand.h:75
LmvmCand::fEventNumber
int fEventNumber
Definition
LmvmCand.h:71
LmvmCand::fMassSig
double fMassSig
Definition
LmvmCand.h:52
LmvmCand::IsMcSignal
bool IsMcSignal() const
Definition
LmvmCand.h:102
LmvmCand::fIsRichElectron
bool fIsRichElectron
Definition
LmvmCand.h:66
LmvmCand::SetIsTopologyCutElectron
void SetIsTopologyCutElectron(ELmvmTopologyCut cut, bool value)
Definition
LmvmCand.h:26
LmvmCand::fTrdLikePi
double fTrdLikePi
Definition
LmvmCand.h:87
LmvmCand::LmvmCand
LmvmCand()
Definition
LmvmCand.h:14
LmvmCand::fIsTofElectron
bool fIsTofElectron
Definition
LmvmCand.h:68
LmvmCand::fTofTrackInd
int fTofTrackInd
Definition
LmvmCand.h:80
LmvmCand::fRapidity
double fRapidity
Definition
LmvmCand.h:54
LmvmCand::fChi2Trd
double fChi2Trd
Definition
LmvmCand.h:59
LmvmCand::fIsElectron
bool fIsElectron
Definition
LmvmCand.h:91
LmvmCand::ResetMcParams
void ResetMcParams()
Definition
LmvmCand.h:16
LmvmCand::fIsChi2Prim
bool fIsChi2Prim
Definition
LmvmCand.h:90
LmvmCand::IsMcEta
bool IsMcEta() const
Definition
LmvmCand.h:105
LmvmCand::fTofDist
double fTofDist
Definition
LmvmCand.h:63
LmvmCand::fPosition
TVector3 fPosition
Definition
LmvmCand.h:49
LmvmCand::fMass2
double fMass2
Definition
LmvmCand.h:85
LmvmCand::fRichAnn
double fRichAnn
Definition
LmvmCand.h:83
LmvmCand::fTrdMcTrackId
int fTrdMcTrackId
Definition
LmvmCand.h:74
LmvmCand::fIsTtCut
bool fIsTtCut
Definition
LmvmCand.h:95
LmvmCand::fTofInd
int fTofInd
Definition
LmvmCand.h:79
LmvmCand::fIsMvd2Cut
bool fIsMvd2Cut
Definition
LmvmCand.h:94
LmvmCand::fStsInd
int fStsInd
Definition
LmvmCand.h:76
LmvmCand::fIsMcBg
bool fIsMcBg() const
Definition
LmvmCand.h:107
LmvmCand::fMcMotherId
int fMcMotherId
Definition
LmvmCand.h:70
LmvmCand::fMass
double fMass
Definition
LmvmCand.h:51
LmvmCand::fRichMcTrackId
int fRichMcTrackId
Definition
LmvmCand.h:73
LmvmCand::fTime
double fTime
Definition
LmvmCand.h:62
LmvmCand::IsMcGamma
bool IsMcGamma() const
Definition
LmvmCand.h:104
LmvmCand::fMcSrc
ELmvmSrc fMcSrc
Definition
LmvmCand.h:101
LmvmCand::fTrdInd
int fTrdInd
Definition
LmvmCand.h:78
LmvmCand::fIsMvd1Cut
bool fIsMvd1Cut
Definition
LmvmCand.h:93
LmvmCand::fChi2Prim
double fChi2Prim
Definition
LmvmCand.h:56
LmvmCand::fIsStCut
bool fIsStCut
Definition
LmvmCand.h:96
LmvmCand::fMomentum
TVector3 fMomentum
Definition
LmvmCand.h:50
LmvmCand::fTrdAnn
double fTrdAnn
Definition
LmvmCand.h:84
LmvmCand::fIsPtCut
bool fIsPtCut
Definition
LmvmCand.h:98
LmvmCand::fLength
double fLength
Definition
LmvmCand.h:61
LmvmCand::IsCutTill
bool IsCutTill(ELmvmAnaStep step) const
Definition
LmvmCand.h:33
analysis
PWGDIL
dielectron
lmvm
LmvmCand.h
Generated on Sun Dec 22 2024 23:04:06 for CbmRoot by
1.12.0