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.                  *
**************************************************************************/
//
// Debug tree to look at the distribution of the variable we are cutting on
//
//
#ifndef ALIHFEREDUCEDEVENTCREATORAOD_H
#define ALIHFEREDUCEDEVENTCREATORAOD_H

#include "AliAnalysisTaskSE.h"

class TClonesArray;
class TString;
class TTree;
class AliAODMCHeader;
class AliAnalysisUtils;
class AliPIDResponse;
class AliHFEcuts;
class AliHFEextraCuts;
class AliHFEpidTPC;
class AliHFEsignalCuts;
class AliHFEreducedEvent;
class AliHFEV0taginfo;

class AliHFEreducedEventCreatorAOD : public AliAnalysisTaskSE{
  public:
    AliHFEreducedEventCreatorAOD();
    AliHFEreducedEventCreatorAOD(const char *name);
    virtual ~AliHFEreducedEventCreatorAOD();

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

    // Setters for cuts
    void SetMinNclustersTPC(Int_t mincl) { fNclustersTPC = mincl; };
    void SetMinNclustersTPCPID(Int_t mincl) { fNclustersTPCPID = mincl; };
    void SetMinNclustersITS(Int_t mincl) { fNclustersITS = mincl; };
    void SetNbOfTOFSigma(Float_t nbOfTOFSigma) { fNbOfTOFSigma = nbOfTOFSigma; };
    void SetFlagPileupEvents() { fFlagPileupEvents = kTRUE; }
    void SetSelectSignalOnly(Bool_t select = kTRUE) { fSelectSignalOnly = select; } 
    AliHFEpidTPC *GetTPCResponse() { return fTPCpid; }

    Bool_t IsTOFmismatch(const AliVTrack *const track, const AliPIDResponse *const pid) const;
    
  private:
    AliHFEreducedEventCreatorAOD(const AliHFEreducedEventCreatorAOD &);
    AliHFEreducedEventCreatorAOD &operator=(const AliHFEreducedEventCreatorAOD &);

    AliAODMCHeader *fAODMCHeader;     // ! MC info AOD
    TClonesArray *fAODArrayMCInfo;    // ! MC info particle AOD
    TTree *fHFEtree;                  // HFE tree 
    AliAnalysisUtils *fAnalysisUtils; // Analysis Utils
    AliHFEreducedEvent *fHFEevent;    // hfe event
    AliHFEcuts *fTrackCuts;           // Track
    AliHFEextraCuts *fExtraCuts;      // HFE IP info
    AliHFEsignalCuts *fSignalCuts;    // Signal Cuts
    AliHFEpidTPC *fTPCpid;            // TPC PID
    AliHFEV0taginfo *fV0Tagger;       // Tags v0 tracks per Event
    Int_t fEventNumber;               // Event Number
    Int_t fNclustersTPC;              // Min Number of clusters in TPC
    Int_t fNclustersTPCPID;           // Min Number of clusters for TPC PID
    Int_t fNclustersITS;              // Min Number of clusters in ITS
    Float_t fNbOfTOFSigma;            // Nb of TOF Sigma
    Bool_t fRemoveFirstEvent;         // Remove first event from chunk
    Bool_t fFlagPileupEvents;         // Flag pileup events
    Bool_t fSelectSignalOnly;         // Select signal-only tracks
  
    ClassDef(AliHFEreducedEventCreatorAOD, 2)
};
#endif


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