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