]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGGA/PHOSTasks/PHOS_PbPb/AliAnalysisTaskPi0FlowMCAOD.h
PWGGA
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / AliAnalysisTaskPi0FlowMCAOD.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3
4 // Authors: Henrik Qvigstad, Dmitri Peressounko
5 // Date   : 20.06.2013
6 // Adopted for AOD analysis by Boris Polishchuk (10.03.2014)
7 /* $Id$ */
8
9
10 #ifndef ALIANALYSISTASKPI0FLOWMCAOD_H
11 #define ALIANALYSISTASKPI0FLOWMCAOD_H
12
13 class AliAODMCParticle;
14 class AliCaloPhoton;
15
16 #include "AliAnalysisTaskPi0Flow.h"
17
18 class AliAnalysisTaskPi0FlowMCAOD : public AliAnalysisTaskPi0Flow
19 {
20 public:
21   AliAnalysisTaskPi0FlowMCAOD(const char* name = "AliAnalysisTaskPi0Flow", Period period = kUndefinedPeriod);
22   virtual ~AliAnalysisTaskPi0FlowMCAOD();
23     
24   void SetOffVertexPhotonCut(Bool_t setCut=kTRUE) { kOffVertexCutSet=setCut; }
25     
26 protected: // Override:
27   virtual void UserCreateOutputObjects();
28   virtual void UserExec(Option_t *option);
29   // Pi0FlowTask
30   virtual void SelectPhotonClusters();
31   virtual void FillSelectedClusterHistograms();
32   virtual void ConsiderPi0s();
33   virtual void ConsiderPi0sMix();
34   virtual void ProcessMC();
35
36 protected: // member functions:
37   AliAnalysisTaskPi0FlowMCAOD(const AliAnalysisTaskPi0FlowMCAOD&); // not implemented
38   AliAnalysisTaskPi0FlowMCAOD& operator=(const AliAnalysisTaskPi0FlowMCAOD&); // not implemented
39   
40   TClonesArray* GetMCArray();
41   AliAODMCParticle* GetParticle(Int_t); //Returns particle at given position for AOD
42
43 protected: // member variables:
44   TClonesArray* fMcArray; //mcArray for AOD MC particles
45   Bool_t kOffVertexCutSet;
46     
47   void FillMCHist();
48   Double32_t R(AliAODMCParticle* p);
49   
50   virtual Double_t PrimaryWeight(Int_t primary);
51   virtual Double_t PrimaryParticleWeight(AliAODMCParticle * particle);
52   void FillSecondaries() ;
53   Int_t FindPrimary(AliVCluster* clu,  Bool_t& sure);
54   Int_t FindCommonParent(Int_t iPart, Int_t jPart) ;
55   Bool_t HaveParent(Int_t iPart, Int_t pdgParent);
56   Bool_t InPi0mass(Double_t m, Double_t pt);
57
58   void FillAllHistograms(const char* particleName, AliCaloPhoton* ph1);
59
60   static const Double_t kRCut;
61   enum ParticleID {kEta=221};
62
63
64   ClassDef(AliAnalysisTaskPi0FlowMCAOD, 1); // PHOS analysis task
65 };
66
67 #endif // ALIANALYSISTASKPI0FLOWMCAOD_H