LCOV - code coverage report
Current view: top level - EMCAL/EMCALrec - AliEMCALAfterBurnerUF.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 2 50.0 %
Date: 2016-06-14 17:26:59 Functions: 1 6 16.7 %

          Line data    Source code
       1             : #ifndef ALIEMCALAFTERBURNERUF_H
       2             : #define ALIEMCALAFTERBURNERUF_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : //-------------------------------------------------------------------------
       7             : /// After-burner for the EMCAL cluster unfolding algorithm
       8             : ///
       9             : /// Input: TObjArray  *clusArray -- array of AliVClusters;
      10             : ////       AliVCaloCells  *cellsEMCAL -- EMCAL cells.
      11             : ///
      12             : /// Output is appended to clusArray, the original (unfolded or not) clusters
      13             : /// are deleted or moved to another position in clusArray.
      14             : ///
      15             : /// If you want to use particular geometry, you must initialize it _before_
      16             : /// creating AliEMCALAfterBurnerUF instance. Add this or similar line to the
      17             : /// initialization section:
      18             : ///
      19             : ///    AliEMCALGeometry::GetInstance("EMCAL_COMPLETE12SMV1_DCAL_8SM");
      20             : ///
      21             : /// gGeoManager must be initialized for this code to work! Do it yourself or
      22             : /// provide geometry.root file in the current directory so that
      23             : /// AliEMCALAfterBurnerUF will take it by itself.
      24             : /// How to use:
      25             : ///
      26             : ///   // add this lines to the initialization section of your analysis
      27             : ///   AliEMCALAfterBurnerUF *abuf = new AliEMCALAfterBurnerUF();
      28             : ///   TObjArray *clusArray = new TObjArray(100);
      29             : ///
      30             : ///
      31             : ///   AliVEvent *event = InputEvent();
      32             : ///   AliVCaloCells *cellsEMCAL = event->GetEMCALCells();
      33             : ///
      34             : ///   for (Int_t i = 0; i < event->GetNumberOfCaloClusters(); i++)
      35             : ///   {
      36             : ///     AliVCluster *clus = event->GetCaloCluster(i);
      37             : ///
      38             : ///     clusArray->Add(clus->Clone());   // NOTE _CLONE_ in this line
      39             : ///   }
      40             : ///
      41             : ///   abuf->UnfoldClusters(clusArray, cellsEMCAL);
      42             : ///
      43             : ///   // do an analysis with clusArray
      44             : ///   // ....
      45             : ///
      46             : ///   // prevent memory leak
      47             : ///   clusArray->Delete();
      48             : ///
      49             : ///
      50             : ///  \author: Olga Driga (SUBATECH)
      51             : //-------------------------------------------------------------------------
      52             : 
      53             : // --- ROOT system ---
      54             : class TObjArray;
      55             : class TClonesArray;
      56             : 
      57             : // --- AliRoot header files ---
      58             : class AliEMCALGeometry;
      59             : class AliEMCALUnfolding;
      60             : class AliVCaloCells;
      61             : 
      62             : class AliEMCALAfterBurnerUF {
      63             : 
      64             :   public:
      65             :     AliEMCALAfterBurnerUF();
      66             :     AliEMCALAfterBurnerUF(Float_t logWeight, Float_t locMaxCut, Float_t minEcut);
      67             :     virtual ~AliEMCALAfterBurnerUF();
      68             : 
      69             :     virtual void Clear();
      70             :     virtual void Init();
      71             :     virtual void RecPoints2Clusters(TObjArray *clusArray);
      72             :     virtual void UnfoldClusters(TObjArray *clusArray, AliVCaloCells *cellsEMCAL);  // does the job
      73             : 
      74             :     // getters and setters
      75           0 :     virtual AliEMCALUnfolding *GetClusterUnfoldingInstance() { return fClusterUnfolding; }
      76             : 
      77             :   protected:
      78             :     AliEMCALGeometry  *fGeom;          // EMCAL geometry
      79             :     Float_t            fLogWeight;     // used in AliEMCALRecPoint::EvalGlobalPosition()
      80             :     Float_t            fECALocMaxCut;  // this amount of energy must distinguish a local maximum from its neighbours
      81             :     Float_t            fMinECut;       // minimum energy of cell   
      82             :     TObjArray         *fRecPoints;     //! cluster <=> recPoint
      83             :     TClonesArray      *fDigitsArr;     //->   cell <=> digit
      84             : 
      85             :     AliEMCALUnfolding *fClusterUnfolding;  // unfolding class instance
      86             : 
      87             :   private:
      88             :     AliEMCALAfterBurnerUF(const AliEMCALAfterBurnerUF & uf) ; // cpy ctor not needed, put here to avoid compilation warning 
      89             :     AliEMCALAfterBurnerUF & operator = (const AliEMCALAfterBurnerUF & uf) ;//cpy assignment, put here to avoid compilation warning 
      90             :   
      91             : 
      92             : 
      93          42 :     ClassDef(AliEMCALAfterBurnerUF,2)
      94             : } ;
      95             : 
      96             : #endif // AliEMCALAFTERBURNERUF_H

Generated by: LCOV version 1.11