]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGGA/EMCALTasks/AliEMCalpi0ClusterEvaluationTask.h
checked in Astrids Task to EMCALTasks
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliEMCalpi0ClusterEvaluationTask.h
diff --git a/PWGGA/EMCALTasks/AliEMCalpi0ClusterEvaluationTask.h b/PWGGA/EMCALTasks/AliEMCalpi0ClusterEvaluationTask.h
new file mode 100644 (file)
index 0000000..d792967
--- /dev/null
@@ -0,0 +1,153 @@
+#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;
+    Int_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
+