CbmRoot
Loading...
Searching...
No Matches
CbmLitGlobalElectronId Class Reference

#include <CbmLitGlobalElectronId.h>

Inheritance diagram for CbmLitGlobalElectronId:
[legend]
Collaboration diagram for CbmLitGlobalElectronId:
[legend]

Public Member Functions

virtual ~CbmLitGlobalElectronId ()
 Destructor.
 
Bool_t IsStsElectron (Int_t globalTrackIndex, Double_t momentum)
 Identify electron in STS detector.
 
Bool_t IsRichElectron (Int_t globalTrackIndex, Double_t momentum)
 Identify electron in RICH detector.
 
Bool_t IsTrdElectron (Int_t globalTrackindex, Double_t momentum)
 Identify electron in RICH detector.
 
Bool_t IsTofElectron (Int_t globalTrackIndex, Double_t momentum, Double_t eventTime=1000.)
 Identify electron in RICH detector.
 
Double_t GetRichAnn (Int_t globalTrackIndex, Double_t momentum)
 Identify electron in RICH detector.
 
Double_t GetTrdAnn (Int_t globalTrackindex, Double_t momentum)
 Return ANN value for electron Identification in the TRD detector.
 
Double_t GetTofM2 (Int_t globalTrackIndex, Double_t momentum, Double_t eventTime=1000.)
 Return TOF m2 value.
 
void SetTrdAnnCut (Double_t par)
 Set cut on TRD ANN output value.
 
void SetRichUseAnn (Bool_t par)
 Set to true if you want to use ANN method for the RICH detector.
 
void SetRichAnnCut (Double_t par)
 Set cut on RICH ANN output value.
 
void SetRichCuts (Double_t meanA, Double_t rmsA, Double_t meanB, Double_t rmsB, Double_t rmsCoeff, Double_t rtDistCut)
 Set RICH electron ID cuts when ANN is not used.
 
Double_t GetRichAnnCut ()
 Return RICH ANN cut.
 
Double_t GetTrdAnnCut ()
 Return TRD ANN cut.
 

Static Public Member Functions

static CbmLitGlobalElectronIdGetInstance ()
 

Public Attributes

std::unique_ptr< TCutG > fStsELossCut2D
 
std::unique_ptr< TCutG > fRichAnnCut2D
 
std::unique_ptr< TCutG > fTrdElLikeCut2D
 
std::unique_ptr< TCutG > fTrdChi2Cut2D
 
std::unique_ptr< TCutG > fTofM2Cut2D
 
std::unique_ptr< TCutG > fTofDistCut2D
 

Private Member Functions

 CbmLitGlobalElectronId ()
 Constructor.
 
void Init ()
 Initialize TClonesArrays.
 
 CbmLitGlobalElectronId (const CbmLitGlobalElectronId &)
 
CbmLitGlobalElectronIdoperator= (const CbmLitGlobalElectronId &)
 
 ClassDef (CbmLitGlobalElectronId, 1)
 

Private Attributes

Double_t fRichAnnCut
 
Bool_t fRichUseAnn
 
Double_t fRichMeanA
 
Double_t fRichMeanB
 
Double_t fRichRmsA
 
Double_t fRichRmsB
 
Double_t fRichRmsCoeff
 
Double_t fRichDistCut
 
Double_t fTrdAnnCut
 
TClonesArray * fGlobalTracks
 
TClonesArray * fStsTracks
 
TClonesArray * fRichRings
 
TClonesArray * fTrdTracks
 
TClonesArray * fTofHits
 
TClonesArray * fTofTracks
 

Detailed Description

Definition at line 16 of file CbmLitGlobalElectronId.h.

Constructor & Destructor Documentation

◆ CbmLitGlobalElectronId() [1/2]

CbmLitGlobalElectronId::CbmLitGlobalElectronId ( )
private

◆ ~CbmLitGlobalElectronId()

CbmLitGlobalElectronId::~CbmLitGlobalElectronId ( )
virtual

Destructor.

Definition at line 52 of file CbmLitGlobalElectronId.cxx.

◆ CbmLitGlobalElectronId() [2/2]

CbmLitGlobalElectronId::CbmLitGlobalElectronId ( const CbmLitGlobalElectronId & )
private

Member Function Documentation

◆ ClassDef()

CbmLitGlobalElectronId::ClassDef ( CbmLitGlobalElectronId ,
1  )
private

◆ GetInstance()

◆ GetRichAnn()

Double_t CbmLitGlobalElectronId::GetRichAnn ( Int_t globalTrackIndex,
Double_t momentum )

Identify electron in RICH detector.

Parameters
[in]globalTrackIndexIndex of global track.
[in]momentumMomentum of track.
Returns
true if track is identified as electron otherwise return false.

Return ANN value for electron Identification in the RICH detector.

Parameters
[in]globalTrackIndexIndex of global track.
[in]momentumMomentum of track.
Returns
RICH ANN value.

Definition at line 135 of file CbmLitGlobalElectronId.cxx.

References CbmRichElectronIdAnn::CalculateAnnValue(), and CbmRichElectronIdAnn::GetInstance().

Referenced by CbmAnaJpsiTask::IsElectron(), and LmvmUtils::IsElectron().

◆ GetRichAnnCut()

Double_t CbmLitGlobalElectronId::GetRichAnnCut ( )
inline

Return RICH ANN cut.

Definition at line 233 of file CbmLitGlobalElectronId.h.

References fRichAnnCut.

◆ GetTofM2()

Double_t CbmLitGlobalElectronId::GetTofM2 ( Int_t globalTrackIndex,
Double_t momentum,
Double_t eventTime = 1000. )

◆ GetTrdAnn()

Double_t CbmLitGlobalElectronId::GetTrdAnn ( Int_t globalTrackindex,
Double_t momentum )

Return ANN value for electron Identification in the TRD detector.

Parameters
[in]globalTrackIndexIndex of global track.
[in]momentumMomentum of track.
Returns
TRD ANN value.

Definition at line 140 of file CbmLitGlobalElectronId.cxx.

References fGlobalTracks, fTrdTracks, CbmTrdTrack::GetPidLikeEL(), and CbmGlobalTrack::GetTrdTrackIndex().

Referenced by CbmAnaJpsiTask::IsElectron().

◆ GetTrdAnnCut()

Double_t CbmLitGlobalElectronId::GetTrdAnnCut ( )
inline

Return TRD ANN cut.

Definition at line 238 of file CbmLitGlobalElectronId.h.

References fTrdAnnCut.

◆ Init()

void CbmLitGlobalElectronId::Init ( )
private

Initialize TClonesArrays.

Definition at line 54 of file CbmLitGlobalElectronId.cxx.

References fGlobalTracks, fRichAnnCut, fRichRings, fStsTracks, fTofHits, fTofTracks, fTrdAnnCut, and fTrdTracks.

Referenced by CbmLitGlobalElectronId().

◆ IsRichElectron()

◆ IsStsElectron()

Bool_t CbmLitGlobalElectronId::IsStsElectron ( Int_t globalTrackIndex,
Double_t momentum )

Identify electron in STS detector.

Parameters
[in]globalTrackIndexIndex of global track.
[in]momentumMomentum of track.
Returns
true if track is identified as electron otherwise return false.

Definition at line 70 of file CbmLitGlobalElectronId.cxx.

References fGlobalTracks, fStsELossCut2D, fStsTracks, CbmStsTrack::GetELoss(), and CbmGlobalTrack::GetStsTrackIndex().

Referenced by LmvmUtils::IsElectron().

◆ IsTofElectron()

Bool_t CbmLitGlobalElectronId::IsTofElectron ( Int_t globalTrackIndex,
Double_t momentum,
Double_t eventTime = 1000. )

Identify electron in RICH detector.

Parameters
[in]globalTrackIndexIndex of global track.
[in]momentumMomentum of track.
Returns
true if track is identified as electron otherwise return false.

Definition at line 122 of file CbmLitGlobalElectronId.cxx.

References fGlobalTracks, fTofDistCut2D, fTofM2Cut2D, fTofTracks, CbmTofTrack::GetDistance(), GetTofM2(), and CbmGlobalTrack::GetTofTrackIndex().

Referenced by LmvmTask::AnalyseGlobalTracks(), LmvmTask::AnalyseRichRings(), CbmLitTrackingQa::ElectronId(), CbmAnaConversionRecoFull::Exec(), LmvmTask::FillTopologyCands(), CbmAnaJpsiTask::IsElectron(), LmvmUtils::IsElectron(), LmvmUtils::IsTofElectron(), LmvmTask::PidVsMom(), and CbmLitTrackingQa::PionSuppression().

◆ IsTrdElectron()

Bool_t CbmLitGlobalElectronId::IsTrdElectron ( Int_t globalTrackindex,
Double_t momentum )

◆ operator=()

CbmLitGlobalElectronId & CbmLitGlobalElectronId::operator= ( const CbmLitGlobalElectronId & )
private

◆ SetRichAnnCut()

void CbmLitGlobalElectronId::SetRichAnnCut ( Double_t par)
inline

Set cut on RICH ANN output value.

Definition at line 215 of file CbmLitGlobalElectronId.h.

References fRichAnnCut.

Referenced by CbmAnaConversionRecoFull::Init(), CbmAnaConversionTest::Init(), and CbmLitTrackingQa::Init().

◆ SetRichCuts()

void CbmLitGlobalElectronId::SetRichCuts ( Double_t meanA,
Double_t rmsA,
Double_t meanB,
Double_t rmsB,
Double_t rmsCoeff,
Double_t rtDistCut )
inline

Set RICH electron ID cuts when ANN is not used.

Definition at line 220 of file CbmLitGlobalElectronId.h.

References fRichDistCut, fRichMeanA, fRichMeanB, fRichRmsA, fRichRmsB, and fRichRmsCoeff.

◆ SetRichUseAnn()

void CbmLitGlobalElectronId::SetRichUseAnn ( Bool_t par)
inline

Set to true if you want to use ANN method for the RICH detector.

Definition at line 210 of file CbmLitGlobalElectronId.h.

References fRichUseAnn.

◆ SetTrdAnnCut()

void CbmLitGlobalElectronId::SetTrdAnnCut ( Double_t par)
inline

Set cut on TRD ANN output value.

Definition at line 205 of file CbmLitGlobalElectronId.h.

References fTrdAnnCut.

Referenced by CbmLitTrackingQa::Init().

Member Data Documentation

◆ fGlobalTracks

TClonesArray* CbmLitGlobalElectronId::fGlobalTracks
private

◆ fRichAnnCut

Double_t CbmLitGlobalElectronId::fRichAnnCut
private

◆ fRichAnnCut2D

std::unique_ptr<TCutG> CbmLitGlobalElectronId::fRichAnnCut2D
Initial value:
= std::make_unique<TCutG>(*[]() {
auto richCut = new TCutG("RichAnnCut2D", 6);
richCut->SetVarX("P");
richCut->SetVarY("ANN");
richCut->SetPoint(0, 0.0, 0.0);
richCut->SetPoint(1, 2.0, 0.0);
richCut->SetPoint(2, 3.0, 0.6);
richCut->SetPoint(3, 10.0, 0.9);
richCut->SetPoint(4, 10.0, 1.5);
richCut->SetPoint(5, 0.0, 1.5);
return richCut;
}())

Definition at line 92 of file CbmLitGlobalElectronId.h.

Referenced by IsRichElectron().

◆ fRichDistCut

Double_t CbmLitGlobalElectronId::fRichDistCut
private

Definition at line 248 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), IsRichElectron(), and SetRichCuts().

◆ fRichMeanA

Double_t CbmLitGlobalElectronId::fRichMeanA
private

Definition at line 243 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), IsRichElectron(), and SetRichCuts().

◆ fRichMeanB

Double_t CbmLitGlobalElectronId::fRichMeanB
private

Definition at line 244 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), IsRichElectron(), and SetRichCuts().

◆ fRichRings

TClonesArray* CbmLitGlobalElectronId::fRichRings
private

Definition at line 253 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), Init(), and IsRichElectron().

◆ fRichRmsA

Double_t CbmLitGlobalElectronId::fRichRmsA
private

Definition at line 245 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), IsRichElectron(), and SetRichCuts().

◆ fRichRmsB

Double_t CbmLitGlobalElectronId::fRichRmsB
private

Definition at line 246 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), IsRichElectron(), and SetRichCuts().

◆ fRichRmsCoeff

Double_t CbmLitGlobalElectronId::fRichRmsCoeff
private

Definition at line 247 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), IsRichElectron(), and SetRichCuts().

◆ fRichUseAnn

Bool_t CbmLitGlobalElectronId::fRichUseAnn
private

Definition at line 242 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), IsRichElectron(), and SetRichUseAnn().

◆ fStsELossCut2D

std::unique_ptr<TCutG> CbmLitGlobalElectronId::fStsELossCut2D
Initial value:
= std::make_unique<TCutG>(*[]() {
auto stsCut = new TCutG("StsELossCut2D", 6);
stsCut->SetVarX("P");
stsCut->SetVarY("eLoss");
stsCut->SetPoint(0, 0., 21e3);
stsCut->SetPoint(1, 10., 23e3);
stsCut->SetPoint(2, 10., 28e3);
stsCut->SetPoint(3, 4., 33e3);
stsCut->SetPoint(4, 2., 33e3);
stsCut->SetPoint(5, 0., 27e3);
return stsCut;
}())

Definition at line 78 of file CbmLitGlobalElectronId.h.

Referenced by IsStsElectron().

◆ fStsTracks

TClonesArray* CbmLitGlobalElectronId::fStsTracks
private

Definition at line 252 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), Init(), and IsStsElectron().

◆ fTofDistCut2D

std::unique_ptr<TCutG> CbmLitGlobalElectronId::fTofDistCut2D
Initial value:
= std::make_unique<TCutG>(*[]() {
auto tofDistCut = new TCutG("TofDistCut2D", 7);
tofDistCut->SetVarX("P");
tofDistCut->SetVarY("Dist");
tofDistCut->SetPoint(0, 0., 0.);
tofDistCut->SetPoint(1, 10., 0.);
tofDistCut->SetPoint(2, 10., 5.);
tofDistCut->SetPoint(3, 5., 7.);
tofDistCut->SetPoint(4, 2.5, 25.);
tofDistCut->SetPoint(5, 1., 50.);
tofDistCut->SetPoint(6, 0., 50.);
return tofDistCut;
}())

Definition at line 151 of file CbmLitGlobalElectronId.h.

Referenced by IsTofElectron().

◆ fTofHits

TClonesArray* CbmLitGlobalElectronId::fTofHits
private

Definition at line 255 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), GetTofM2(), and Init().

◆ fTofM2Cut2D

std::unique_ptr<TCutG> CbmLitGlobalElectronId::fTofM2Cut2D
Initial value:
= std::make_unique<TCutG>(*[]() {
auto tofM2Cut = new TCutG("TofM2Cut2D", 8);
tofM2Cut->SetVarX("P");
tofM2Cut->SetVarY("m2");
tofM2Cut->SetPoint(0, 0., -0.01);
tofM2Cut->SetPoint(1, 2., -0.06);
tofM2Cut->SetPoint(2, 8., -0.35);
tofM2Cut->SetPoint(3, 10., -0.35);
tofM2Cut->SetPoint(4, 10., 0.2);
tofM2Cut->SetPoint(5, 6., 0.3);
tofM2Cut->SetPoint(6, 1.3, 0.01);
tofM2Cut->SetPoint(7, 0., 0.01);
return tofM2Cut;
}())

Definition at line 135 of file CbmLitGlobalElectronId.h.

Referenced by IsTofElectron().

◆ fTofTracks

TClonesArray* CbmLitGlobalElectronId::fTofTracks
private

Definition at line 256 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), Init(), and IsTofElectron().

◆ fTrdAnnCut

Double_t CbmLitGlobalElectronId::fTrdAnnCut
private

Definition at line 249 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), GetTrdAnnCut(), Init(), and SetTrdAnnCut().

◆ fTrdChi2Cut2D

std::unique_ptr<TCutG> CbmLitGlobalElectronId::fTrdChi2Cut2D
Initial value:
= std::make_unique<TCutG>(*[]() {
auto trdChi2Cut = new TCutG("TrdChi2Cut2D", 5);
trdChi2Cut->SetVarX("P");
trdChi2Cut->SetVarY("Chi2");
trdChi2Cut->SetPoint(0, 0.0, 0.0);
trdChi2Cut->SetPoint(1, 10.0, 1.0);
trdChi2Cut->SetPoint(2, 10.0, 7.0);
trdChi2Cut->SetPoint(3, 7.0, 10.0);
trdChi2Cut->SetPoint(4, 0.0, 10.0);
return trdChi2Cut;
}())

Definition at line 122 of file CbmLitGlobalElectronId.h.

Referenced by IsTrdElectron().

◆ fTrdElLikeCut2D

std::unique_ptr<TCutG> CbmLitGlobalElectronId::fTrdElLikeCut2D
Initial value:
= std::make_unique<TCutG>(*[]() {
auto trdLikeCut = new TCutG("TrdElLikeCut2D", 8);
trdLikeCut->SetVarX("P");
trdLikeCut->SetVarY("Likelihood");
trdLikeCut->SetPoint(0, 0.0, 0.65);
trdLikeCut->SetPoint(1, 2.0, 0.65);
trdLikeCut->SetPoint(2, 3.0, 0.4);
trdLikeCut->SetPoint(3, 5.5, 0.4);
trdLikeCut->SetPoint(4, 6., 0.85);
trdLikeCut->SetPoint(5, 8., 0.9);
trdLikeCut->SetPoint(6, 8., 1.5);
trdLikeCut->SetPoint(7, 0., 1.5);
return trdLikeCut;
}())

Definition at line 106 of file CbmLitGlobalElectronId.h.

Referenced by IsTrdElectron().

◆ fTrdTracks

TClonesArray* CbmLitGlobalElectronId::fTrdTracks
private

Definition at line 254 of file CbmLitGlobalElectronId.h.

Referenced by CbmLitGlobalElectronId(), GetTrdAnn(), Init(), and IsTrdElectron().


The documentation for this class was generated from the following files: