ROOT logo
#ifndef ALICALOTRACKAODREADER_H
#define ALICALOTRACKAODREADER_H
/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice     */

//_________________________________________________________________________
// Class for reading data (AODs) in order to do prompt gamma or other particle
// identification and correlations.
// This part is commented: Mixing analysis can be done, input AOD with events
// is opened in the AliCaloTrackReader::Init()
//
//
// -- Author: Gustavo Conesa (INFN-LNF)

class AliAODEvent;

#include "AliCaloTrackReader.h" 

class AliCaloTrackAODReader : public AliCaloTrackReader {
	
public: 
	
              AliCaloTrackAODReader() ;   // ctor
  
  virtual    ~AliCaloTrackAODReader() {;} // virtual dtor
  
  Bool_t      CheckForPrimaryVertex() const ;
  
  TClonesArray   * GetAODMCParticles() const ;
  AliAODMCHeader * GetAODMCHeader   () const ;
  
  AliVEvent * GetOriginalInputEvent() const { return fOrgInputEvent; }
  
  Bool_t      SelectTrack(AliVTrack* track, Double_t* pTrack);

  ULong_t     GetTrackFilterMask()               const { return fTrackFilterMask      ; }
  void        SetTrackFilterMask(ULong_t bit)          { fTrackFilterMask = bit       ; }
  
  ULong_t     GetTrackFilterMaskComplementary()  const { return fTrackFilterMaskComplementary      ; }
  void        SetTrackFilterMaskComplementary(ULong_t bit) {   fTrackFilterMaskComplementary = bit ; }
  
  void        SwitchOnAODHybridTrackSelection()        { fSelectHybridTracks  = kTRUE  ; }
  void        SwitchOffAODHybridTrackSelection()       { fSelectHybridTracks  = kFALSE ; }
  
  void        SwitchOnAODPrimaryTrackSelection()       { fSelectPrimaryTracks = kTRUE  ; }
  void        SwitchOffAODPrimaryTrackSelection()      { fSelectPrimaryTracks = kFALSE ; }
  
  void        SwitchOnAODTrackSharedClusterSelection() { fSelectFractionTPCSharedClusters = kTRUE  ; }
  void        SwitchOffAODTrackSharedClusterSelection(){ fSelectFractionTPCSharedClusters = kFALSE ; }
  
  void        SetTPCSharedClusterFraction(Float_t fr)  { fCutTPCSharedClustersFraction = fr   ; }
  Float_t     GetTPCSharedClusterFraction() const      { return fCutTPCSharedClustersFraction ; }
  
  void        SetInputOutputMCEvent(AliVEvent* esd, AliAODEvent* aod, AliMCEvent* mc) ;
  
private:
  
  AliVEvent * fOrgInputEvent;                   //! Original input event, not from filtering
  
  Bool_t      fSelectHybridTracks;              // Select CTS tracks of type hybrid
  Bool_t      fSelectPrimaryTracks;             // Select CTS tracks of type primary
  ULong_t     fTrackFilterMask;                 // Track selection bit, for AODs (any difference with track status?)
  ULong_t     fTrackFilterMaskComplementary;    // Complementary Track selection bit, for AODs in case hybrid option selected
  Bool_t      fSelectFractionTPCSharedClusters; // Accept only TPC tracks with over a given fraction of shared clusters
  Float_t     fCutTPCSharedClustersFraction;    // Fraction of TPC shared clusters to be accepted.

  
  AliCaloTrackAODReader(              const AliCaloTrackAODReader & r) ; // cpy ctor
  AliCaloTrackAODReader & operator = (const AliCaloTrackAODReader & r) ; // cpy assignment
  
  ClassDef(AliCaloTrackAODReader,7)
  
} ;

#endif //ALICALOTRACKAODREADER_H



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