]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG/CaloTrackCorrBase/AliCaloTrackAODReader.h
move track selection differences from AOD and ESD to corresponding reader
[u/mrichter/AliRoot.git] / PWG / CaloTrackCorrBase / AliCaloTrackAODReader.h
index 72ba0806377250f92b939c199c6b05b05fd8f7b2..f664e83c75c4df437b88d71ab59e10d7d7e67fbb 100755 (executable)
@@ -20,22 +20,50 @@ class AliCaloTrackAODReader : public AliCaloTrackReader {
        
 public: 
        
-  AliCaloTrackAODReader() ;            // ctor
+              AliCaloTrackAODReader() ;   // ctor
   
-  virtual ~AliCaloTrackAODReader() {;} // virtual dtor
-       
-  void SetInputOutputMCEvent(AliVEvent* esd, AliAODEvent* aod, AliMCEvent* mc) ; 
+  virtual    ~AliCaloTrackAODReader() {;} // virtual dtor
+  
+  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) ;
   
-  AliVEvent* GetOriginalInputEvent() const { return fOrgInputEvent; }
-    
 private:
   
-  AliVEvent *fOrgInputEvent; //! Original input event, not from filtering
+  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,6)
+  ClassDef(AliCaloTrackAODReader,7)
   
 } ;