CbmRoot
Loading...
Searching...
No Matches
CbmAnaDimuonAnalysis.h
Go to the documentation of this file.
1/* Copyright (C) 2009-2020 Petersburg Nuclear Physics Institute named by B.P.Konstantinov of National Research Centre "Kurchatov Institute", Gatchina
2 SPDX-License-Identifier: GPL-3.0-only
3 Authors: Anna Senger, Evgeny Kryshen [committer] */
4
5//----------------------------------------
6//
7// 2019 A. Senger a.senger@gsi.de
8//
9// 2020 A. Senger: add ANN pID
10//
11//----------------------------------------
12
13
14#ifndef CBMANADIMUONANALYSIS_H_
15#define CBMANADIMUONANALYSIS_H_ 1
16
17#include "FairEventHeader.h"
18#include "FairTask.h"
19
20#include <vector>
21
24class CbmTrackMatch;
25class CbmMatch;
26class CbmMuchTrack;
27class CbmTofHit;
30class CbmVertex;
31class TClonesArray;
32class TLorentzVector;
33class TString;
34class TFile;
35class TH1D;
36class TH2D;
37class TH3D;
38class TProfile;
39class TMultiLayerPerceptron;
40class TTree;
41
42class CbmAnaDimuonAnalysis : public FairTask {
43 public:
44 CbmAnaDimuonAnalysis(TString name, TString setup);
45
47 virtual InitStatus Init();
48 virtual void Exec(Option_t* opt);
49 virtual void Finish();
50 virtual void SetParContainers();
51
52 void SetChi2StsCut(Double_t cut) { fChi2StsCut = cut; }
53 void SetChi2MuchCut(Double_t cut) { fChi2MuchCut = cut; }
54 void SetChi2VertexCut(Double_t cut) { fChi2VertexCut = cut; }
55
56 void SetNofMuchCut(Int_t cut) { fNofMuchCut = cut; }
57 void SetNofStsCut(Int_t cut) { fNofStsCut = cut; }
58 void SetNofTrdCut(Int_t cut) { fNofTrdCut = cut; }
59 void SetAnnCut(Double_t cut, Int_t neurons)
60 {
61 fAnnCut = cut;
62 fNeurons = neurons;
63 }
64
65 void SetSigmaTofCut(Int_t cut) { fSigmaTofCut = cut; }
66
67 void UseCuts(Bool_t cut) { fUseCuts = cut; }
68 void UseMC(Bool_t useMC) { fUseMC = useMC; }
69
70 void SetANNFileName(TString name) { fFileAnnName = name; }
71
72 // void SetHistoFileName(TString name) {fFileName = name; }
73 // void SetEffFileName(TString name) {fEffFileName = name; }
74
76 Double_t CalculateAnnValue(Double_t P, Double_t M, Double_t Chi2Vertex, Double_t Chi2STS, Double_t Chi2MUCH,
77 Double_t Chi2TRD, Int_t NofSTS, Int_t NofMUCH, Int_t NofTRD, Int_t NofTOF);
78
79 void FillProfile(TProfile* profile, Double_t param, Bool_t trigger);
80
81 private:
82 Int_t fEvent;
83 FairEventHeader* fEvtHeader;
84 TClonesArray* fMCTracks;
85 TClonesArray* fStsTracks;
86 TClonesArray* fStsTrackMatches;
87 TClonesArray* fMuchTracks;
88 TClonesArray* fMuchTrackMatches;
89 TClonesArray* fGlobalTracks;
90 TClonesArray* fTrdTracks;
91 TClonesArray* fTofHit;
92 TClonesArray* fMuPlus;
93 TClonesArray* fMuMinus;
94 TClonesArray* fParticles;
95
96 TTree* fInputTree;
97 TFile* fPlutoFile;
98
100
102
103 Double_t fChi2StsCut;
104 Double_t fChi2MuchCut;
106 Double_t fAnnCut;
107 Int_t fNeurons;
109
110 Double_t fMass;
111
112 Bool_t fUseCuts;
113 Bool_t fUseMC;
114
118
119 Double_t p0min, p1min, p2min;
120 Double_t p0max, p1max, p2max;
121
123 // TString fEffFileName;
124 // TString fFileName;
126 TString fSetupName;
127
129
132 TH3D* YPtM;
133
134 TProfile *acc_P[4][3], *acc_Theta[4][3];
135 TProfile *effReco_P[4][3], *effReco_Theta[4][3];
136 TProfile *eff4pi_P[5][3], *eff4pi_Theta[5][3];
137
138 TH1D* BgSup[6];
139
142
144};
145
146#endif
TProfile * eff4pi_Theta[5][3]
CbmAnaDimuonAnalysis operator=(const CbmAnaDimuonAnalysis &)
void SetChi2VertexCut(Double_t cut)
TClonesArray * fStsTrackMatches
CbmAnaDimuonAnalysis(TString name, TString setup)
void SetChi2StsCut(Double_t cut)
CbmMuchGeoScheme * fGeoScheme
void SetChi2MuchCut(Double_t cut)
void SetANNFileName(TString name)
TProfile * effReco_Theta[4][3]
void SetNofMuchCut(Int_t cut)
CbmAnaDimuonAnalysis(const CbmAnaDimuonAnalysis &)
TClonesArray * fMuchTrackMatches
void SetAnnCut(Double_t cut, Int_t neurons)
virtual void Exec(Option_t *opt)
FairEventHeader * fEvtHeader
ClassDef(CbmAnaDimuonAnalysis, 2)
void SetSigmaTofCut(Int_t cut)
void FillProfile(TProfile *profile, Double_t param, Bool_t trigger)
CbmStsKFTrackFitter * fFitter
void UseMC(Bool_t useMC)
virtual InitStatus Init()
Double_t CalculateAnnValue(CbmAnaMuonCandidate *mu)