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 ALIHFEREDUCEDEVENTCREATORESD_H
#define ALIHFEREDUCEDEVENTCREATORESD_H

#include "AliAnalysisTaskSE.h"

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

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

    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 SetRemoveFirstEventFromChunk() { fRemoveFirstEvent = kTRUE; }
    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:
    AliHFEreducedEventCreatorESD(const AliHFEreducedEventCreatorESD &);
    AliHFEreducedEventCreatorESD &operator=(const AliHFEreducedEventCreatorESD &);
    
    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
    AliTRDTriggerAnalysis *fTRDTriggerAnalysis; //! TRD Trigger Analysis
    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
    Bool_t fRemoveFirstEvent;         // Remove first event from chunk
    Bool_t fFlagPileupEvents;         // Flag pileup events
    Bool_t fSelectSignalOnly;         // Select signal-only tracks
    
    ClassDef(AliHFEreducedEventCreatorESD, 1)
};
#endif


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