ROOT logo
#ifndef AliEMCalpi0ClusterEvaluationTask_h
#define AliEMCalpi0ClusterEvaluationTask_h

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
* See cxx source for full Copyright notice                               */

// $Id$

/// \class AliEMCalpi0ClusterEvaluationTask
/// \Task to analyse ESDs for cluster studies
///
//  \Astrid Morreale -

#include "AliAnalysisTaskSE.h"
class TTree;
class TString;
class TList;
class TH1F;
class TH2F;
class AliESDEvent;



class AliEMCalpi0ClusterEvaluationTask : public AliAnalysisTaskSE
{
    public:
    AliEMCalpi0ClusterEvaluationTask(const char *name = "AliEMCalpi0ClusterEvaluationTask");

    virtual ~AliEMCalpi0ClusterEvaluationTask();

    // virtual void GetMom(TLorentzVector& p, const AliVCluster *c1, const AliVCluster *c2, Double_t *vertex);
    virtual void UserCreateOutputObjects();
    virtual void UserExec(Option_t *option);
    virtual void Terminate(const Option_t*);
    virtual void FillMixed(const TLorentzVector& p1, const TLorentzVector& p2);
    virtual Double_t GetMaxCellEnergy(const AliVCluster *cluster, Int_t &id) const;

    private:
    void InitHistPointers();
    /// copy constructor (not implemented )
    AliEMCalpi0ClusterEvaluationTask( const AliEMCalpi0ClusterEvaluationTask& );

    /// assignment operator (not implemented )
    AliEMCalpi0ClusterEvaluationTask& operator = ( const AliEMCalpi0ClusterEvaluationTask& );

    enum {kNtype = 10};
    TH2F * fMasspi0EGA[kNtype];
    TH2F * fMasspi0MB[kNtype];
    TH2F * fMasspi0AllMB[kNtype];
    TH2F * fMasspi0Cent[kNtype];
    TH2F * fMasspi0SemiCent[kNtype];

    TH2F * fMassMixedEGA[kNtype];
    TH2F * fMassMixedMB[kNtype];
    TH2F * fMassMixedAllMB[kNtype];
    TH2F * fMassMixedCent[kNtype];
    TH2F * fMassMixedSemiCent[kNtype];


    TH1F * fEventsEGA[kNtype];
    TH1F * fEventsMB[kNtype];
    TH1F * fEventsAllMB[kNtype];
    TH1F * fEventsCent[kNtype];
    TH1F * fEventsSemiCent[kNtype];


    TH1F * fCentrality;
    TH1F * fCentralityMB;
    TH1F * fCentralityEGA;
    TH1F * fCentralityCent;
    TH1F * fCentralitySemiCent;

    TH1F * fTriggers;

    TH1F * fpTMB[kNtype];
    TH1F * fpTAllMB[kNtype];
    TH1F * fpTEGA[kNtype];
    TH1F * fpTkCent[kNtype];
    TH1F * fpTkSemiCent[kNtype];
    TH1F * fDispersion;
    TH1F * fexo;
    TH1F * fshower;

    /// local event counter
    Int_t  fEvent;
    Int_t   ega0,   ega1,  ega2,  ega3,  ega4,  ega5,  ega6,   ega7,  ega8, ega9;
    Int_t    mb0,    mb1,   mb2,   mb3,   mb4,   mb5,   mb6,    mb7,   mb8, mb9;
    Int_t allmb0, allmb1,allmb2,allmb3,allmb4,allmb5,allmb6, allmb7,allmb8, allmb9;
    Int_t cent0,   cent1, cent2, cent3, cent4, cent5, cent6,  cent7, cent8, cent9;
    Int_t semicent0,   semicent1, semicent2, semicent3, semicent4, semicent5, semicent6,  semicent7, semicent8, semicent9;
    Int_t all, allmb, mb, central, semicentral, ega;



    Bool_t  kAllMB;
    Bool_t  isPileup;
    Bool_t  isMB;
    Bool_t  isAnyINT;
    Bool_t  isCentral;
    Bool_t  isSemiCentral;
    Bool_t  isEga;

    Bool_t  isMBmx;
    Bool_t  isAnyINTmx;
    Bool_t  isCentralmx;
    Bool_t  isSemiCentralmx;
    Bool_t  isEgamx;
    Bool_t  kAllMBmx;

    Int_t   trigger;
    Float_t CentralityVZERO;
    Float_t CentralitySPD;
    Int_t   runNumber;
    Int_t   selectionMask;
    Float_t vX; Float_t vY; Float_t vZ;




    //characteristiques cluster
    Float_t   Ecluster;
    Int_t     NCellscluster;
    Float_t   M20cluster;
    Float_t   M02cluster;
    Int_t     NCluscluster;
    Bool_t    isEMCALcluster;
    Float_t   dispersioncluster;
    Float_t   chi2cluster;
    Double_t     distBadChannelcluster;
    Float_t   phicluster;
    Float_t   etacluster;
    Float_t   ptcluster;
    Double_t crossEnergy;
    //characteristics pion
    Float_t   piE;
    Float_t   piphi;
    Float_t   pieta;
    Float_t   ptpi;
    Float_t   pipx;
    Float_t   pipy;
    Float_t   pipz;
    Float_t   asympi;
    Float_t   masspi;

    TList *fHistList;
    TObjArray  *fPool[kNtype];

    ClassDef(AliEMCalpi0ClusterEvaluationTask,1)

};

#endif

 AliEMCalpi0ClusterEvaluationTask.h:1
 AliEMCalpi0ClusterEvaluationTask.h:2
 AliEMCalpi0ClusterEvaluationTask.h:3
 AliEMCalpi0ClusterEvaluationTask.h:4
 AliEMCalpi0ClusterEvaluationTask.h:5
 AliEMCalpi0ClusterEvaluationTask.h:6
 AliEMCalpi0ClusterEvaluationTask.h:7
 AliEMCalpi0ClusterEvaluationTask.h:8
 AliEMCalpi0ClusterEvaluationTask.h:9
 AliEMCalpi0ClusterEvaluationTask.h:10
 AliEMCalpi0ClusterEvaluationTask.h:11
 AliEMCalpi0ClusterEvaluationTask.h:12
 AliEMCalpi0ClusterEvaluationTask.h:13
 AliEMCalpi0ClusterEvaluationTask.h:14
 AliEMCalpi0ClusterEvaluationTask.h:15
 AliEMCalpi0ClusterEvaluationTask.h:16
 AliEMCalpi0ClusterEvaluationTask.h:17
 AliEMCalpi0ClusterEvaluationTask.h:18
 AliEMCalpi0ClusterEvaluationTask.h:19
 AliEMCalpi0ClusterEvaluationTask.h:20
 AliEMCalpi0ClusterEvaluationTask.h:21
 AliEMCalpi0ClusterEvaluationTask.h:22
 AliEMCalpi0ClusterEvaluationTask.h:23
 AliEMCalpi0ClusterEvaluationTask.h:24
 AliEMCalpi0ClusterEvaluationTask.h:25
 AliEMCalpi0ClusterEvaluationTask.h:26
 AliEMCalpi0ClusterEvaluationTask.h:27
 AliEMCalpi0ClusterEvaluationTask.h:28
 AliEMCalpi0ClusterEvaluationTask.h:29
 AliEMCalpi0ClusterEvaluationTask.h:30
 AliEMCalpi0ClusterEvaluationTask.h:31
 AliEMCalpi0ClusterEvaluationTask.h:32
 AliEMCalpi0ClusterEvaluationTask.h:33
 AliEMCalpi0ClusterEvaluationTask.h:34
 AliEMCalpi0ClusterEvaluationTask.h:35
 AliEMCalpi0ClusterEvaluationTask.h:36
 AliEMCalpi0ClusterEvaluationTask.h:37
 AliEMCalpi0ClusterEvaluationTask.h:38
 AliEMCalpi0ClusterEvaluationTask.h:39
 AliEMCalpi0ClusterEvaluationTask.h:40
 AliEMCalpi0ClusterEvaluationTask.h:41
 AliEMCalpi0ClusterEvaluationTask.h:42
 AliEMCalpi0ClusterEvaluationTask.h:43
 AliEMCalpi0ClusterEvaluationTask.h:44
 AliEMCalpi0ClusterEvaluationTask.h:45
 AliEMCalpi0ClusterEvaluationTask.h:46
 AliEMCalpi0ClusterEvaluationTask.h:47
 AliEMCalpi0ClusterEvaluationTask.h:48
 AliEMCalpi0ClusterEvaluationTask.h:49
 AliEMCalpi0ClusterEvaluationTask.h:50
 AliEMCalpi0ClusterEvaluationTask.h:51
 AliEMCalpi0ClusterEvaluationTask.h:52
 AliEMCalpi0ClusterEvaluationTask.h:53
 AliEMCalpi0ClusterEvaluationTask.h:54
 AliEMCalpi0ClusterEvaluationTask.h:55
 AliEMCalpi0ClusterEvaluationTask.h:56
 AliEMCalpi0ClusterEvaluationTask.h:57
 AliEMCalpi0ClusterEvaluationTask.h:58
 AliEMCalpi0ClusterEvaluationTask.h:59
 AliEMCalpi0ClusterEvaluationTask.h:60
 AliEMCalpi0ClusterEvaluationTask.h:61
 AliEMCalpi0ClusterEvaluationTask.h:62
 AliEMCalpi0ClusterEvaluationTask.h:63
 AliEMCalpi0ClusterEvaluationTask.h:64
 AliEMCalpi0ClusterEvaluationTask.h:65
 AliEMCalpi0ClusterEvaluationTask.h:66
 AliEMCalpi0ClusterEvaluationTask.h:67
 AliEMCalpi0ClusterEvaluationTask.h:68
 AliEMCalpi0ClusterEvaluationTask.h:69
 AliEMCalpi0ClusterEvaluationTask.h:70
 AliEMCalpi0ClusterEvaluationTask.h:71
 AliEMCalpi0ClusterEvaluationTask.h:72
 AliEMCalpi0ClusterEvaluationTask.h:73
 AliEMCalpi0ClusterEvaluationTask.h:74
 AliEMCalpi0ClusterEvaluationTask.h:75
 AliEMCalpi0ClusterEvaluationTask.h:76
 AliEMCalpi0ClusterEvaluationTask.h:77
 AliEMCalpi0ClusterEvaluationTask.h:78
 AliEMCalpi0ClusterEvaluationTask.h:79
 AliEMCalpi0ClusterEvaluationTask.h:80
 AliEMCalpi0ClusterEvaluationTask.h:81
 AliEMCalpi0ClusterEvaluationTask.h:82
 AliEMCalpi0ClusterEvaluationTask.h:83
 AliEMCalpi0ClusterEvaluationTask.h:84
 AliEMCalpi0ClusterEvaluationTask.h:85
 AliEMCalpi0ClusterEvaluationTask.h:86
 AliEMCalpi0ClusterEvaluationTask.h:87
 AliEMCalpi0ClusterEvaluationTask.h:88
 AliEMCalpi0ClusterEvaluationTask.h:89
 AliEMCalpi0ClusterEvaluationTask.h:90
 AliEMCalpi0ClusterEvaluationTask.h:91
 AliEMCalpi0ClusterEvaluationTask.h:92
 AliEMCalpi0ClusterEvaluationTask.h:93
 AliEMCalpi0ClusterEvaluationTask.h:94
 AliEMCalpi0ClusterEvaluationTask.h:95
 AliEMCalpi0ClusterEvaluationTask.h:96
 AliEMCalpi0ClusterEvaluationTask.h:97
 AliEMCalpi0ClusterEvaluationTask.h:98
 AliEMCalpi0ClusterEvaluationTask.h:99
 AliEMCalpi0ClusterEvaluationTask.h:100
 AliEMCalpi0ClusterEvaluationTask.h:101
 AliEMCalpi0ClusterEvaluationTask.h:102
 AliEMCalpi0ClusterEvaluationTask.h:103
 AliEMCalpi0ClusterEvaluationTask.h:104
 AliEMCalpi0ClusterEvaluationTask.h:105
 AliEMCalpi0ClusterEvaluationTask.h:106
 AliEMCalpi0ClusterEvaluationTask.h:107
 AliEMCalpi0ClusterEvaluationTask.h:108
 AliEMCalpi0ClusterEvaluationTask.h:109
 AliEMCalpi0ClusterEvaluationTask.h:110
 AliEMCalpi0ClusterEvaluationTask.h:111
 AliEMCalpi0ClusterEvaluationTask.h:112
 AliEMCalpi0ClusterEvaluationTask.h:113
 AliEMCalpi0ClusterEvaluationTask.h:114
 AliEMCalpi0ClusterEvaluationTask.h:115
 AliEMCalpi0ClusterEvaluationTask.h:116
 AliEMCalpi0ClusterEvaluationTask.h:117
 AliEMCalpi0ClusterEvaluationTask.h:118
 AliEMCalpi0ClusterEvaluationTask.h:119
 AliEMCalpi0ClusterEvaluationTask.h:120
 AliEMCalpi0ClusterEvaluationTask.h:121
 AliEMCalpi0ClusterEvaluationTask.h:122
 AliEMCalpi0ClusterEvaluationTask.h:123
 AliEMCalpi0ClusterEvaluationTask.h:124
 AliEMCalpi0ClusterEvaluationTask.h:125
 AliEMCalpi0ClusterEvaluationTask.h:126
 AliEMCalpi0ClusterEvaluationTask.h:127
 AliEMCalpi0ClusterEvaluationTask.h:128
 AliEMCalpi0ClusterEvaluationTask.h:129
 AliEMCalpi0ClusterEvaluationTask.h:130
 AliEMCalpi0ClusterEvaluationTask.h:131
 AliEMCalpi0ClusterEvaluationTask.h:132
 AliEMCalpi0ClusterEvaluationTask.h:133
 AliEMCalpi0ClusterEvaluationTask.h:134
 AliEMCalpi0ClusterEvaluationTask.h:135
 AliEMCalpi0ClusterEvaluationTask.h:136
 AliEMCalpi0ClusterEvaluationTask.h:137
 AliEMCalpi0ClusterEvaluationTask.h:138
 AliEMCalpi0ClusterEvaluationTask.h:139
 AliEMCalpi0ClusterEvaluationTask.h:140
 AliEMCalpi0ClusterEvaluationTask.h:141
 AliEMCalpi0ClusterEvaluationTask.h:142
 AliEMCalpi0ClusterEvaluationTask.h:143
 AliEMCalpi0ClusterEvaluationTask.h:144
 AliEMCalpi0ClusterEvaluationTask.h:145
 AliEMCalpi0ClusterEvaluationTask.h:146
 AliEMCalpi0ClusterEvaluationTask.h:147
 AliEMCalpi0ClusterEvaluationTask.h:148
 AliEMCalpi0ClusterEvaluationTask.h:149
 AliEMCalpi0ClusterEvaluationTask.h:150
 AliEMCalpi0ClusterEvaluationTask.h:151
 AliEMCalpi0ClusterEvaluationTask.h:152
 AliEMCalpi0ClusterEvaluationTask.h:153