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.                  *
**************************************************************************/
//
// Class AliHFEtaggedTrackAnalysis
// Analyses tracks with an apriori PID information (i.e. using the daugther
// tracks from well-identified decays of neutral charged particles).
// More information can be found inside the implementation file.
//
#ifndef ALIHFETAGGEDTRACKANALYSIS_H
#define ALIHFETAGGEDTRACKANALYSIS_H

#ifndef ROOT_TNamed
#include <TNamed.h>
#endif

class AliHFEcollection;
class AliHFEcontainer;
class AliHFEcuts;
class AliHFEpid;
class AliHFEpidQAmanager;
class AliHFEvarManager;

class AliHFEtaggedTrackAnalysis : public TNamed{
  public:
    AliHFEtaggedTrackAnalysis();
    AliHFEtaggedTrackAnalysis(const char *name);
    AliHFEtaggedTrackAnalysis(const AliHFEtaggedTrackAnalysis &ref);
    AliHFEtaggedTrackAnalysis &operator=(const AliHFEtaggedTrackAnalysis &ref);
    ~AliHFEtaggedTrackAnalysis();
    
    void InitContainer();
    void ProcessTrack(AliVTrack *track, Int_t abinitioPID);
        
    AliHFEcontainer *GetContainer() const { return fContainer; }
    AliHFEpidQAmanager *GetPIDqa() const { return fPIDqa; }
    TList * GetPIDQA() const;
    TList * GetCutQA() const;
    AliHFEcollection * GetQAcollection() const { return fQAhistos; }
    Bool_t  GetClean() const { return fClean; }; 
    Bool_t IsPbPb() const { return fIsPbPb; }
    Bool_t IsPP() const { return !fIsPbPb; }
    Bool_t IspPb() const { return fIspPb; }
    Double_t GetMagneticField() const { return fMagneticField; };
    AliHFEvarManager *GetVarManager() const { return fVarManager; }

    void SetCuts(AliHFEcuts *cuts);
    void SetPID(AliHFEpid *pid);
    void SetCentrality(Int_t centrality) { fCentralityF = centrality; };
    void SetPbPb(){ fIsPbPb = kTRUE; }
    void SetPP() { fIsPbPb = kFALSE; }
    void SetpPb() { fIsPbPb = kFALSE; fIspPb=kTRUE; }
    void SetAOD() { fIsAOD = kTRUE; }
    void SetClean(Bool_t clean) { fClean = clean; };
    void SetMagneticField(Double_t magneticField) { fMagneticField = magneticField; };
    void SetVariablesTRD(Bool_t variablesTRD) { fVariablesTRD = variablesTRD; };

  private:
    enum{
      kIsOwner = BIT(14),
      kIsOwnerCuts = BIT(15)
    };
    AliHFEvarManager    *fVarManager;   // Variable Manager
    AliHFEcontainer     *fContainer;    // Output container
    AliHFEpid           *fPID;          // PID selection
    AliHFEpidQAmanager  *fPIDqa;        // PID monitoring
    AliHFEcuts          *fCuts;         // Single track cuts
    AliCFManager        *fCFM;          // CF Manager used for the track filtering
    AliHFEcollection    *fQAhistos;     // QA histos
    Int_t              fCentralityF;  // Centrality
    Bool_t               fClean;        // Clean
    Double_t             fMagneticField; // Magnetic field
    Bool_t               fVariablesTRD;  //  Use phi angle at the first plane of the TRD
    Bool_t               fIsPbPb;        // Analysis Type: PbPb or no PbPb
    Bool_t               fIspPb;        // Analysis Type: pPb or no pPb
    Bool_t               fIsAOD;        // Analysis Type: AOD
    
  ClassDef(AliHFEtaggedTrackAnalysis, 0)
};
#endif
 AliHFEtaggedTrackAnalysis.h:1
 AliHFEtaggedTrackAnalysis.h:2
 AliHFEtaggedTrackAnalysis.h:3
 AliHFEtaggedTrackAnalysis.h:4
 AliHFEtaggedTrackAnalysis.h:5
 AliHFEtaggedTrackAnalysis.h:6
 AliHFEtaggedTrackAnalysis.h:7
 AliHFEtaggedTrackAnalysis.h:8
 AliHFEtaggedTrackAnalysis.h:9
 AliHFEtaggedTrackAnalysis.h:10
 AliHFEtaggedTrackAnalysis.h:11
 AliHFEtaggedTrackAnalysis.h:12
 AliHFEtaggedTrackAnalysis.h:13
 AliHFEtaggedTrackAnalysis.h:14
 AliHFEtaggedTrackAnalysis.h:15
 AliHFEtaggedTrackAnalysis.h:16
 AliHFEtaggedTrackAnalysis.h:17
 AliHFEtaggedTrackAnalysis.h:18
 AliHFEtaggedTrackAnalysis.h:19
 AliHFEtaggedTrackAnalysis.h:20
 AliHFEtaggedTrackAnalysis.h:21
 AliHFEtaggedTrackAnalysis.h:22
 AliHFEtaggedTrackAnalysis.h:23
 AliHFEtaggedTrackAnalysis.h:24
 AliHFEtaggedTrackAnalysis.h:25
 AliHFEtaggedTrackAnalysis.h:26
 AliHFEtaggedTrackAnalysis.h:27
 AliHFEtaggedTrackAnalysis.h:28
 AliHFEtaggedTrackAnalysis.h:29
 AliHFEtaggedTrackAnalysis.h:30
 AliHFEtaggedTrackAnalysis.h:31
 AliHFEtaggedTrackAnalysis.h:32
 AliHFEtaggedTrackAnalysis.h:33
 AliHFEtaggedTrackAnalysis.h:34
 AliHFEtaggedTrackAnalysis.h:35
 AliHFEtaggedTrackAnalysis.h:36
 AliHFEtaggedTrackAnalysis.h:37
 AliHFEtaggedTrackAnalysis.h:38
 AliHFEtaggedTrackAnalysis.h:39
 AliHFEtaggedTrackAnalysis.h:40
 AliHFEtaggedTrackAnalysis.h:41
 AliHFEtaggedTrackAnalysis.h:42
 AliHFEtaggedTrackAnalysis.h:43
 AliHFEtaggedTrackAnalysis.h:44
 AliHFEtaggedTrackAnalysis.h:45
 AliHFEtaggedTrackAnalysis.h:46
 AliHFEtaggedTrackAnalysis.h:47
 AliHFEtaggedTrackAnalysis.h:48
 AliHFEtaggedTrackAnalysis.h:49
 AliHFEtaggedTrackAnalysis.h:50
 AliHFEtaggedTrackAnalysis.h:51
 AliHFEtaggedTrackAnalysis.h:52
 AliHFEtaggedTrackAnalysis.h:53
 AliHFEtaggedTrackAnalysis.h:54
 AliHFEtaggedTrackAnalysis.h:55
 AliHFEtaggedTrackAnalysis.h:56
 AliHFEtaggedTrackAnalysis.h:57
 AliHFEtaggedTrackAnalysis.h:58
 AliHFEtaggedTrackAnalysis.h:59
 AliHFEtaggedTrackAnalysis.h:60
 AliHFEtaggedTrackAnalysis.h:61
 AliHFEtaggedTrackAnalysis.h:62
 AliHFEtaggedTrackAnalysis.h:63
 AliHFEtaggedTrackAnalysis.h:64
 AliHFEtaggedTrackAnalysis.h:65
 AliHFEtaggedTrackAnalysis.h:66
 AliHFEtaggedTrackAnalysis.h:67
 AliHFEtaggedTrackAnalysis.h:68
 AliHFEtaggedTrackAnalysis.h:69
 AliHFEtaggedTrackAnalysis.h:70
 AliHFEtaggedTrackAnalysis.h:71
 AliHFEtaggedTrackAnalysis.h:72
 AliHFEtaggedTrackAnalysis.h:73
 AliHFEtaggedTrackAnalysis.h:74
 AliHFEtaggedTrackAnalysis.h:75
 AliHFEtaggedTrackAnalysis.h:76
 AliHFEtaggedTrackAnalysis.h:77
 AliHFEtaggedTrackAnalysis.h:78
 AliHFEtaggedTrackAnalysis.h:79
 AliHFEtaggedTrackAnalysis.h:80
 AliHFEtaggedTrackAnalysis.h:81
 AliHFEtaggedTrackAnalysis.h:82
 AliHFEtaggedTrackAnalysis.h:83
 AliHFEtaggedTrackAnalysis.h:84
 AliHFEtaggedTrackAnalysis.h:85
 AliHFEtaggedTrackAnalysis.h:86
 AliHFEtaggedTrackAnalysis.h:87
 AliHFEtaggedTrackAnalysis.h:88
 AliHFEtaggedTrackAnalysis.h:89
 AliHFEtaggedTrackAnalysis.h:90
 AliHFEtaggedTrackAnalysis.h:91