]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGGA/GammaConv/AliAnalysisTaskGammaConvDalitzV1.h
added new conversion task (gamma, gamma & dalitz task) + corresponding dependencies
[u/mrichter/AliRoot.git] / PWGGA / GammaConv / AliAnalysisTaskGammaConvDalitzV1.h
CommitLineData
2bb2434e 1#ifndef ALIANALYSISTASKGAMMACONVDALITZV1_H
2#define ALIANALYSISTASKGAMMACONVDALITZV1_H
3
4/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7// Analysis task for pi0->e+e-gamma (Dalitz decay)
8
9#include "AliAnalysisTaskSE.h"
10#include "AliV0ReaderV1.h"
11#include "AliKFConversionPhoton.h"
12#include "AliDalitzElectronSelector.h"
13#include "AliConversionMesonCuts.h"
14#include "AliGammaConversionAODBGHandler.h"
15
16class AliESDInputHandler;
17class AliMCEventHandler;
18class AliESDEvent;
19class AliESDtrack;
20class AliESDtrackCuts;
21class AliESDpidCuts;
22class AliV0Reader;
23class AliGammaConversionHistograms;
24class AliTriggerAnalysis;
25
26class AliAnalysisTaskGammaConvDalitzV1: public AliAnalysisTaskSE
27{
28 public:
29
30 AliAnalysisTaskGammaConvDalitzV1();
31 AliAnalysisTaskGammaConvDalitzV1( const char* name );
32 virtual ~AliAnalysisTaskGammaConvDalitzV1();
33
34 virtual void UserExec(Option_t *);
35 virtual void UserCreateOutputObjects();
36 virtual void Terminate(const Option_t *);
37
38
39
40
41 void SetMoveParticleAccordingToVertex(Bool_t flag){fMoveParticleAccordingToVertex = flag;}
42 void SetIsHeavyIon(Bool_t flag){fIsHeavyIon = flag;}
43 void SetConversionCutList(Int_t nCuts, TList *CutArray){
44 fnCuts= nCuts;
45 fCutGammaArray = CutArray;
46 }
47 void SetElectronCutList(TList *CutArray){
48 fCutElectronArray = CutArray;
49 }
50 void SetMesonCutList(TList *CutArray){
51 fCutMesonArray = CutArray;
52 }
53
54
55 private:
56
57 void AddTaskContainers();
58 void InitBack();
59 void ProcessPhotonCandidates();
60 void ProcessTruePhotonCandidates(AliAODConversionPhoton*);
61 void ProcessTrueMesonCandidates(AliAODConversionMother *Pi0Candidate, AliAODConversionPhoton *TrueGammaCandidate, AliAODConversionPhoton *TrueVirtualGammaCandidate);
62 void MoveParticleAccordingToVertex(AliAODConversionPhoton* particle,const AliGammaConversionAODBGHandler::GammaConversionVertex *vertex);
63 void ProcessElectronCandidates();
64 void ProcessMCParticles();
65 void CountESDTracks();
66 void CalculatePi0DalitzCandidates();
67 void CalculateBackground();
68 void UpdateEventByEventData();
69
70
71
72 AliV0ReaderV1 *fV0Reader;
73 AliDalitzElectronSelector* fElecSelector;
74 AliGammaConversionAODBGHandler **fBGHandler;
75 AliESDEvent *fESDEvent;
76 AliMCEvent *fMCEvent;
77 AliStack *fMCStack;
78 TList **fCutFolder;
79 TList **fESDList;
80 TList **fBackList;
81 TList **fTrueList;
82 TList **fMCList;
83 TList *fOutputContainer;
84 TClonesArray *fReaderGammas;
85 vector<Int_t> fSelectorElectronIndex;
86 vector<Int_t> fSelectorPositronIndex;
87 TList *fGoodGammas;
88 TList *fGoodVirtualGammas;
89 TList *fGoodElectrons;
90 TList *fGoodPositrons;
91 TList *fCutGammaArray;
92 TList *fCutElectronArray;
93 TList *fCutMesonArray;
94 TList **fGammasPool;
95 AliConversionCuts *fConversionCuts;
96 TH1F **hESDConvGammaPt;
97 TH1F **hESDDalitzElectronPt;
98 TH1F **hESDDalitzPositronPt;
99 TH2F **hESDEposEnegPsiPairDPhi;
100 TH2F **hESDMotherInvMassPt;
101 THnSparseF **sESDMotherInvMassPtZM;
102 TH2F **hESDMotherBackInvMassPt;
103 THnSparseF **sESDMotherBackInvMassPtZM;
104 TH1F **hMCPi0Pt;
105 TH1F **hMCEtaPt;
106 TH1F **hMCPi0InAccPt;
107 TH1F **hMCEtaInAccPt;
108 TH2F **hESDTrueMotherInvMassPt;
109 TH2F **hESDTrueMotherPi0GGInvMassPt;
110 TH2F **hESDTruePrimaryMotherInvMassMCPt;
111 TH2F **hESDTruePrimaryPi0DalitzESDPtMCPt;
112 TH2F **hESDTrueSecondaryMotherInvMassPt;
113 TH2F **hESDTrueSecondaryMotherFromK0sInvMassPt;
114 TH2F **hESDTrueBckGGInvMassPt;
115 TH2F **hESDTrueBckContInvMassPt;
116 TH2F **hESDTrueMotherGGInvMassPt;
117 TH1F **hESDTrueConvGammaPt;
118 TH1I **hNEvents;
119 TH1I **hNGoodESDTracks;
120
121 TRandom3 fRandom;
122 Double_t *fUnsmearedPx;
123 Double_t *fUnsmearedPy;
124 Double_t *fUnsmearedPz;
125 Double_t *fUnsmearedE;
126 Int_t fnCuts;
127 Int_t fiCut;
128 Int_t fNumberOfESDTracks;
129 Bool_t fMoveParticleAccordingToVertex;
130 Bool_t fIsHeavyIon;
131 Bool_t fDoMesonAnalysis;
132
133 private:
134 AliAnalysisTaskGammaConvDalitzV1( const AliAnalysisTaskGammaConvDalitzV1& ); // Not implemented
135 AliAnalysisTaskGammaConvDalitzV1& operator=( const AliAnalysisTaskGammaConvDalitzV1& ); // Not implemented
136
137 ClassDef( AliAnalysisTaskGammaConvDalitzV1, 2 );
138};
139
140#endif // ALIANALYSISTASKGAMMACONVDALITZV1_H
141