LCOV - code coverage report
Current view: top level - ANALYSIS/ANALYSISalice - AliVTrackSelection.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 5 20.0 %
Date: 2016-06-14 17:26:59 Functions: 1 9 11.1 %

          Line data    Source code
       1             : /**
       2             :  * \file AliVTrackSelection.h
       3             :  * \brief Declartion of class AliVTrackSelection
       4             :  *
       5             :  * In this header file the class AliVTrackSelection, which handles the
       6             :  * track selection in a transparent way for ESD and AOD Tracks, is declared.
       7             :  *
       8             :  * \author Markus Fasel <markus.fasel@cern.ch>, Lawrence Berkeley National Laboratory
       9             :  * \author Salvatore Aiola <salvatore.aiola@cern.ch>, Yale University
      10             :  * \date Jan 30, 2016
      11             :  */
      12             : #ifndef ALIVTRACKSELECTION_H_
      13             : #define ALIVTRACKSELECTION_H_
      14             : /* Copyright(c) 1998-2015, ALICE Experiment at CERN, All rights reserved. *
      15             :  * See cxx source for full Copyright notice                               */
      16             : 
      17             : #include <TObject.h>
      18             : #include <TBits.h>
      19             : 
      20             : class TClonesArray;
      21             : class TObjArray;
      22             : class AliVCuts;
      23             : class AliVEvent;
      24             : class AliVTrack;
      25             : 
      26             : /**
      27             :  * \class AliVTrackSelection
      28             :  * \brief Interface for virtual track selection
      29             :  *
      30             :  * Interface for track selection within the EMCAL framework. Enables transparent track selection
      31             :  * for ESDs and AODs by implementing a wrapper derived from this class. The following abstract
      32             :  * functions need to be implemented by inheriting classes:
      33             :  * - GetAcceptedTracks (with TClonesArray and AliVEvent as parameters)
      34             :  * - IsTrackAccepted (with AliVTrackCuts)
      35             :  * - GenerateTrackCuts
      36             :  */
      37             : class AliVTrackSelection : public TObject {
      38             : public:
      39             :         AliVTrackSelection();
      40             :         AliVTrackSelection(const AliVTrackSelection &ref);
      41             :         AliVTrackSelection &operator=(const AliVTrackSelection &ref);
      42             :         virtual ~AliVTrackSelection();
      43             : 
      44             :         TObjArray *GetAcceptedTracks(const TClonesArray * const tracks);
      45             :         TObjArray *GetAcceptedTracks(const AliVEvent *const event);
      46             :         virtual bool IsTrackAccepted(AliVTrack * const trk) = 0;
      47             : 
      48             :         void AddTrackCuts(AliVCuts *cuts);
      49             :         void AddTrackCuts(TObjArray *cuts);
      50             :         Int_t GetNumberOfCutObjects() const;
      51             :         AliVCuts *GetTrackCuts(Int_t icut);
      52             : 
      53           0 :         const TBits& GetTrackBitmap() const { return fTrackBitmap; }
      54           0 :         const TClonesArray* GetAcceptedTrackBitmaps() const { return fListOfTrackBitmaps; }
      55             : 
      56           0 :         void SetSelectionModeAny() { fSelectionModeAny = kTRUE ; }
      57           0 :         void SetSelectionModeAll() { fSelectionModeAny = kFALSE; }
      58             : 
      59             : protected:
      60             :         TObjArray    *fListOfTracks;         ///< TObjArray with accepted tracks
      61             :         TClonesArray *fListOfTrackBitmaps;   ///< TClonesArray with accepted tracks' bit maps
      62             :         TBits         fTrackBitmap;          ///< Bitmap of last accepted/rejected track
      63             :         TObjArray    *fListOfCuts;           ///< List of track cut objects
      64             :         Bool_t        fSelectionModeAny;     ///< Accept track if any of the cuts is fulfilled
      65             : 
      66             :         /// \cond CLASSIMP
      67         170 :         ClassDef(AliVTrackSelection, 1);
      68             :         /// \endcond
      69             : };
      70             : 
      71             : #endif /* ALIVTRACKSELECTION_H_ */

Generated by: LCOV version 1.11