ROOT logo
/**************************************************************************
* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
*                                                                        *
* Author: The ALICE Off-line Project.                                    *
* Contributors are mentioned in the code where appropriate.              *
*                                                                        *
* Permission to use, copy, modify and distribute this software and its   *
* documentation strictly for non-commercial purposes is hereby granted   *
* without fee, provided that the above copyright notice appears in all   *
* copies and that both the copyright notice and this permission notice   *
* appear in the supporting documentation. The authors make no claims     *
* about the suitability of this software for any purpose. It is          *
* provided "as is" without express or implied warranty.                  *
**************************************************************************/
//
// Task for PID QA
// Using AliHFEpidQA and AliHFEMCpidQA
// More information can be found in the source file
//
#ifndef ALIANALYSISTASKHFEPIDQA_H
#define ALIANALYSISTASKHFEPIDQA_H

#ifndef ALIANALYSISTASKSE_H
#include "AliAnalysisTaskSE.h"
#endif

class TH1;
class TList;
class TFile;

class AliLog;
class AliMCEvent;

class AliHFEpidQA;

class AliAnalysisTaskHFEpidQA : public AliAnalysisTaskSE{
  public:
    AliAnalysisTaskHFEpidQA();
    AliAnalysisTaskHFEpidQA(const Char_t *name);
    ~AliAnalysisTaskHFEpidQA();

    virtual void UserCreateOutputObjects();
    virtual void UserExec(Option_t *);
    virtual void Terminate(Option_t *);
    virtual Bool_t UserNotify();

    Bool_t HasV0pidQA() const { return TestBit(kV0pidQA); };
    Bool_t HasRecalculateTRDpid() const { return TestBit(kRecalculateTRDpid); };
    void SetV0pidQA(Bool_t v0pidQA = kTRUE) { SetBit(kV0pidQA, v0pidQA); };
    void SetRecalculateTRDpid(Bool_t recal = kTRUE) { SetBit(kRecalculateTRDpid, recal); };
    void SetTRDTotalChargeInSlice0() { fTRDTotalChargeInSlice0 = kTRUE; }

    void SetNNref(TFile *f) { fNNref = f; };

    void SetQAPbPb() { fIsQAPbPb = kTRUE; };
    void SetQAPP() { fIsQAPbPb = kFALSE; };
    void SetQAPPMultiBin() { fIsQAppMultiBin = kFALSE; };
    Bool_t IsQAPbPb() const { return fIsQAPbPb; };
    Bool_t IsQAPP() const { return !fIsQAPbPb; };
    Bool_t IsQAPPMultiBin() const { return fIsQAppMultiBin; };


  private:
    enum{
      kV0pidQA = BIT(22),
      kRecalculateTRDpid = BIT(23)
    };
    AliAnalysisTaskHFEpidQA(const AliAnalysisTaskHFEpidQA &ref);
    AliAnalysisTaskHFEpidQA &operator=(const AliAnalysisTaskHFEpidQA &ref);
    AliHFEpidQA *fPIDqa;    //! The heart of the analysis  
    TList *fOutput;         //! Container for output histos
    TH1 *fEvents;           //! Number of Events
    TFile  *fNNref;         //  reference file for NN
    Bool_t fTRDTotalChargeInSlice0;   // Fix for Foreware/Backward compatibility
    Bool_t             fIsQAPbPb;        // Analysis Type: pp or PbPb
    Bool_t             fIsQAppMultiBin;  // pp multiplicity bin analysis

    ClassDef(AliAnalysisTaskHFEpidQA, 1)
};

#endif

 AliAnalysisTaskHFEpidQA.h:1
 AliAnalysisTaskHFEpidQA.h:2
 AliAnalysisTaskHFEpidQA.h:3
 AliAnalysisTaskHFEpidQA.h:4
 AliAnalysisTaskHFEpidQA.h:5
 AliAnalysisTaskHFEpidQA.h:6
 AliAnalysisTaskHFEpidQA.h:7
 AliAnalysisTaskHFEpidQA.h:8
 AliAnalysisTaskHFEpidQA.h:9
 AliAnalysisTaskHFEpidQA.h:10
 AliAnalysisTaskHFEpidQA.h:11
 AliAnalysisTaskHFEpidQA.h:12
 AliAnalysisTaskHFEpidQA.h:13
 AliAnalysisTaskHFEpidQA.h:14
 AliAnalysisTaskHFEpidQA.h:15
 AliAnalysisTaskHFEpidQA.h:16
 AliAnalysisTaskHFEpidQA.h:17
 AliAnalysisTaskHFEpidQA.h:18
 AliAnalysisTaskHFEpidQA.h:19
 AliAnalysisTaskHFEpidQA.h:20
 AliAnalysisTaskHFEpidQA.h:21
 AliAnalysisTaskHFEpidQA.h:22
 AliAnalysisTaskHFEpidQA.h:23
 AliAnalysisTaskHFEpidQA.h:24
 AliAnalysisTaskHFEpidQA.h:25
 AliAnalysisTaskHFEpidQA.h:26
 AliAnalysisTaskHFEpidQA.h:27
 AliAnalysisTaskHFEpidQA.h:28
 AliAnalysisTaskHFEpidQA.h:29
 AliAnalysisTaskHFEpidQA.h:30
 AliAnalysisTaskHFEpidQA.h:31
 AliAnalysisTaskHFEpidQA.h:32
 AliAnalysisTaskHFEpidQA.h:33
 AliAnalysisTaskHFEpidQA.h:34
 AliAnalysisTaskHFEpidQA.h:35
 AliAnalysisTaskHFEpidQA.h:36
 AliAnalysisTaskHFEpidQA.h:37
 AliAnalysisTaskHFEpidQA.h:38
 AliAnalysisTaskHFEpidQA.h:39
 AliAnalysisTaskHFEpidQA.h:40
 AliAnalysisTaskHFEpidQA.h:41
 AliAnalysisTaskHFEpidQA.h:42
 AliAnalysisTaskHFEpidQA.h:43
 AliAnalysisTaskHFEpidQA.h:44
 AliAnalysisTaskHFEpidQA.h:45
 AliAnalysisTaskHFEpidQA.h:46
 AliAnalysisTaskHFEpidQA.h:47
 AliAnalysisTaskHFEpidQA.h:48
 AliAnalysisTaskHFEpidQA.h:49
 AliAnalysisTaskHFEpidQA.h:50
 AliAnalysisTaskHFEpidQA.h:51
 AliAnalysisTaskHFEpidQA.h:52
 AliAnalysisTaskHFEpidQA.h:53
 AliAnalysisTaskHFEpidQA.h:54
 AliAnalysisTaskHFEpidQA.h:55
 AliAnalysisTaskHFEpidQA.h:56
 AliAnalysisTaskHFEpidQA.h:57
 AliAnalysisTaskHFEpidQA.h:58
 AliAnalysisTaskHFEpidQA.h:59
 AliAnalysisTaskHFEpidQA.h:60
 AliAnalysisTaskHFEpidQA.h:61
 AliAnalysisTaskHFEpidQA.h:62
 AliAnalysisTaskHFEpidQA.h:63
 AliAnalysisTaskHFEpidQA.h:64
 AliAnalysisTaskHFEpidQA.h:65
 AliAnalysisTaskHFEpidQA.h:66
 AliAnalysisTaskHFEpidQA.h:67
 AliAnalysisTaskHFEpidQA.h:68
 AliAnalysisTaskHFEpidQA.h:69
 AliAnalysisTaskHFEpidQA.h:70
 AliAnalysisTaskHFEpidQA.h:71
 AliAnalysisTaskHFEpidQA.h:72
 AliAnalysisTaskHFEpidQA.h:73
 AliAnalysisTaskHFEpidQA.h:74
 AliAnalysisTaskHFEpidQA.h:75
 AliAnalysisTaskHFEpidQA.h:76
 AliAnalysisTaskHFEpidQA.h:77
 AliAnalysisTaskHFEpidQA.h:78
 AliAnalysisTaskHFEpidQA.h:79
 AliAnalysisTaskHFEpidQA.h:80
 AliAnalysisTaskHFEpidQA.h:81
 AliAnalysisTaskHFEpidQA.h:82