LCOV - code coverage report
Current view: top level - HLT/CALO - AliHLTCaloClusterAnalyser.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 0 12 0.0 %
Date: 2016-06-14 17:26:59 Functions: 0 12 0.0 %

          Line data    Source code
       1             : //-*- Mode: C++ -*-
       2             : // $Id: AliHLTCaloClusterAnalyser.h 35107 2009-09-30 01:45:06Z phille $
       3             : 
       4             :  /**************************************************************************
       5             :  * This file is property of and copyright by the ALICE HLT Project        * 
       6             :  * All rights reserved.                                                   *
       7             :  *                                                                        *
       8             :  * Primary Authors: Oystein Djuvsland                                     *
       9             :  *                                                                        *
      10             :  * Permission to use, copy, modify and distribute this software and its   *
      11             :  * documentation strictly for non-commercial purposes is hereby granted   *
      12             :  * without fee, provided that the above copyright notice appears in all   *
      13             :  * copies and that both the copyright notice and this permission notice   *
      14             :  * appear in the supporting documentation. The authors make no claims     *
      15             :  * about the suitability of this software for any purpose. It is          * 
      16             :  * provided "as is" without express or implied warranty.                  *
      17             :  **************************************************************************/
      18             : 
      19             : #ifndef ALIHLTCALOCLUSTERANALYSER_H
      20             : #define ALIHLTCALOCLUSTERANALYSER_H
      21             : 
      22             : #include "AliHLTLogging.h"
      23             : 
      24             : /**
      25             :  * Class calculates properties of rec points
      26             :  *
      27             :  * @file   AliHLTCaloClusterAnalyser.h
      28             :  * @author Oystein Djuvsland
      29             :  * @date
      30             :  * @brief  Cluster analyser for CALO HLT
      31             :  */
      32             : 
      33             : // see header file for class documentation
      34             : // or
      35             : // refer to README to build package
      36             : // or
      37             : // visit http://web.ift.uib.no/~kjeks/doc/alice-hlt
      38             : 
      39             : //#include "AliHLTCaloBase.h"
      40             : 
      41             : //class AliHLTCaloPhysicsAnalyzer;
      42             : class AliHLTCaloRecPointHeaderStruct;
      43             : class AliHLTCaloRecPointDataStruct;
      44             : class AliHLTCaloDigitDataStruct;
      45             : class AliHLTCaloClusterHeaderStruct;
      46             : class AliHLTCaloClusterDataStruct;
      47             : class AliHLTCaloGeometry;
      48             : class AliHLTCaloRecoParamHandler;
      49             : 
      50             : class TH1F; //DEBUG
      51             : 
      52             : 
      53             : /** 
      54             :  * @class AliHLTCaloClusterAnalyser
      55             :  * ClusterAnalyser for CALO HLT. Algorithms for center of gravity
      56             :  * and moment calculations are based on classes from the CALO
      57             :  * offline analysis directory
      58             :  *
      59             :  * @ingroup alihlt_calo
      60             :  */
      61             : //class AliHLTCaloClusterAnalyser : public AliHLTCaloBase
      62             : class AliHLTCaloClusterAnalyser : public AliHLTLogging
      63             : {
      64             : public:
      65             : 
      66             :   /** Constructor */
      67             :   AliHLTCaloClusterAnalyser();
      68             : 
      69             :   /** Destructor */
      70             :   virtual ~AliHLTCaloClusterAnalyser();
      71             :   
      72             :   /**
      73             :    * Set the rec point data buffer
      74             :    * @param recPointDataPtr is a pointer to the rec points
      75             :    */
      76             :   void SetRecPointArray(AliHLTCaloRecPointDataStruct **recPointDataPtr, Int_t nRecPoints);
      77             : 
      78             :   /** 
      79             :    * Set the calo cluster output buffer
      80             :    * @param caloClusterDataPtr is a pointer to the calo cluster buffer
      81             :    */
      82             :   void SetCaloClusterData(AliHLTCaloClusterDataStruct *caloClusterDataPtr);
      83             : 
      84             :   /** 
      85             :    * Calculates the center of gravity for the reconstruction points in the container
      86             :    * @return
      87             :    */
      88             :   Int_t CalculateCenterOfGravity();
      89             : 
      90             :   /** 
      91             :    * Calculates the moments for the reconstruction points in the container
      92             :    * @return 
      93             :    */
      94             :   Int_t CalculateRecPointMoments();
      95             : 
      96             :   /** 
      97             :    * Calculates the moments for a certain cluster
      98             :    * @return 
      99             :    */
     100             :   Int_t CalculateClusterMoments(AliHLTCaloRecPointDataStruct *recPointPtr, AliHLTCaloClusterDataStruct* clusterPtr);
     101             : 
     102             :   /** 
     103             :    * Deconvolute the clusters in an AliHLTCaloRecPointContainerStruct
     104             :    * @return
     105             :    */
     106             :   Int_t DeconvoluteClusters();
     107             : 
     108             :   /**
     109             :    * Convert the rec points into calo clusters
     110             :    * @return
     111             :    */
     112             :   Int_t CreateClusters(Int_t nRecPoints, UInt_t availableSize, UInt_t& totSize);
     113             : 
     114             :   /**
     115             :    * Fit a cluster
     116             :    * param recPointPtr is a pointer to the rec point to fit
     117             :    * @return 
     118             :    */
     119           0 :   Int_t FitCluster(AliHLTCaloRecPointDataStruct* /*recPointPtr*/) { return 0; }
     120             : 
     121             :   /**
     122             :    * Get the distance to the nearest CPV rec point
     123             :    * param recPointPtr is the pointer to the emc rec point
     124             :    * @return the distance
     125             :    */
     126           0 :   Float_t GetCPVDistance(AliHLTCaloRecPointDataStruct* /*recPointPtr*/) { return 0; };
     127             : 
     128             :   /**
     129             :    * Do partice identification
     130             :    * param clusterPtr is the pointer to the emc cluster
     131             :    * @return 
     132             :    */
     133           0 :   Int_t DoParticleIdentification(AliHLTCaloClusterDataStruct* /*clusterPtr*/) { return 0; }
     134             :   
     135             :   /**
     136             :    * Get the distance to the neares bad channel
     137             :    * param clusterPtr is a pointer to the calo cluster
     138             :    * @return the distance
     139             :    */
     140           0 :   Float_t GetDistanceToBadChannel(AliHLTCaloClusterDataStruct* /*clusterPtr*/) { return 0; }
     141             : 
     142             :   /**
     143             :    * Set do cluster fit
     144             :    */
     145           0 :   void SetDoClusterFit() { fDoClusterFit = true; }
     146             :   
     147             :   /**
     148             :    * Set have cpv info
     149             :    */
     150           0 :   void SetHaveCPVInfo() { fHaveCPVInfo = true; }
     151             : 
     152             :   /** 
     153             :    * Set do PID
     154             :    */
     155           0 :   void SetDoPID() { fDoPID = true; }
     156             : 
     157             :   /**
     158             :    * Set have distance to bad channel
     159             :    */
     160           0 :   void SetHaveDistanceToBadChannel() { fHaveDistanceToBadChannel = true; }
     161             : 
     162             :   /**
     163             :   * Set the geometry object (different for EMCAL and PHOS)
     164             :   */
     165           0 :   void SetGeometry(AliHLTCaloGeometry *geometry) { fGeometry = geometry; }
     166             : 
     167             :   /** 
     168             :   * Set pointer to the digits
     169             :   */
     170             :   void SetDigitDataArray(AliHLTCaloDigitDataStruct **digits);
     171             : 
     172             :   /**
     173             :   * Set the cluster type 
     174             :   */
     175           0 :   void SetClusterType(Char_t clusterType) { fClusterType = clusterType; }
     176             :   
     177             :   /** 
     178             :   * Set the reconstruction parameters handler 
     179             :   */
     180           0 :   void SetRecoParamHandler(AliHLTCaloRecoParamHandler *recoParams) { fRecoParamsPtr = recoParams; }
     181             :   
     182             :   /** Set cut on single cell clusters */
     183           0 :   void SetCutOnSingleCellClusters(Bool_t doCut, Float_t energyCut) {fCutOnSingleCellClusters = doCut; fSingleCellEnergyCut = energyCut; }
     184             :   
     185             :  
     186             : private:
     187             :   
     188             :   /** Used for calculation of center of gravity */
     189             :   Float_t fLogWeight;                                       //COMMENT
     190             :   
     191             :   /** Pointer to the rec points */
     192             :   AliHLTCaloRecPointDataStruct **fRecPointArray;         //! transient
     193             : 
     194             :   /** Pointer to the digits */
     195             :   AliHLTCaloDigitDataStruct **fDigitDataArray;         //! transient
     196             : 
     197             :   /** Number of rec points */
     198             :   Int_t fNRecPoints;                                      //COMMENT
     199             : 
     200             :   /** Pointer to the cluster buffer */
     201             :   AliHLTCaloClusterDataStruct *fCaloClusterDataPtr;   //! transient
     202             : 
     203             :   /** Pointer to the cluster header */
     204             :   AliHLTCaloClusterHeaderStruct *fCaloClusterHeaderPtr;   //! transient
     205             : 
     206             :   /** Should we do cluster fitting? */
     207             :   Bool_t fDoClusterFit;                                     //COMMENT
     208             :   
     209             :   /** Do we have CPV info? */
     210             :   Bool_t fHaveCPVInfo;                                      //COMMENT
     211             : 
     212             :   /** Should we do PID? */ 
     213             :   Bool_t fDoPID;                                            //COMMENT
     214             : 
     215             :   /** Do we have distance to bad channel? */
     216             :   Bool_t fHaveDistanceToBadChannel;                         //COMMENT
     217             :   
     218             :   /** The geometry object */
     219             :   AliHLTCaloGeometry* fGeometry;                                   //! transient
     220             : 
     221             :   /** The cluster type */
     222             :   Char_t fClusterType;                   //COMMENT
     223             :   
     224             :   /** Handler to get the hold of reconstruction parameters */
     225             :   AliHLTCaloRecoParamHandler *fRecoParamsPtr; //COMMENT
     226             :   
     227             :   /** Should we cut out single celled high energy clusters? */
     228             :   Bool_t fCutOnSingleCellClusters;       //COMMENT
     229             :   
     230             :   /** If we cut on single celled clusters, what is our energy cut? */
     231             :   Float_t fSingleCellEnergyCut; //COMMENT
     232             :  
     233             :  /** Copy constructor  not implemented */
     234             :  AliHLTCaloClusterAnalyser ( const AliHLTCaloClusterAnalyser &); // not implemented
     235             :     
     236             :  /** Assignment */
     237             : AliHLTCaloClusterAnalyser & operator = ( const AliHLTCaloClusterAnalyser &); // not implemented
     238             :     
     239             : };
     240             : 
     241             : #endif

Generated by: LCOV version 1.11