LCOV - code coverage report
Current view: top level - TPC/TPCrec - AliTPCclustererKr.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 1 41 2.4 %
Date: 2016-06-14 17:26:59 Functions: 1 45 2.2 %

          Line data    Source code
       1             : #ifndef ALITPCCLUSTERERKR_H
       2             : #define ALITPCCLUSTERERKR_H
       3             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id: AliTPCclustererKr.h,v 1.8 2008/02/07 16:07:15 matyja Exp $ */
       7             : 
       8             : //-------------------------------------------------------
       9             : //                    TPC Kr Clusterer Class
      10             : //
      11             : //   Origin: Adam Matyja, INP PAN, adam.matyja@ifj.edu.pl
      12             : //-------------------------------------------------------
      13             : 
      14             : #include "TObject.h"
      15             : 
      16             : class AliTPCclusterKr;
      17             : class AliPadMax;
      18             : class AliSimDigits;
      19             : class AliTPCv4;
      20             : class AliTPCParam;
      21             : class AliTPCDigitsArray;
      22             : class AliTPCvtpr;
      23             : class AliTPCClustersRow;
      24             : class TTree;
      25             : class TH1F;
      26             : class TH2F;
      27             : 
      28             : class AliTPCTransform;
      29             : 
      30             : //used in raw data finder
      31             : class AliTPCROC;
      32             : class AliTPCCalPad;
      33             : class AliTPCAltroMapping;
      34             : class AliTPCcalibDB;
      35             : class AliTPCRecoParam;
      36             : class AliTPCReconstructor;
      37             : class AliRawReader;
      38             : class AliTPCCalROC;
      39             : class TTreeSRedirector;
      40             : class AliRawEventHeaderBase;
      41             : //_____________________________________________________________________________
      42             : class AliTPCclustererKr: public TObject{
      43             : public:
      44             :   AliTPCclustererKr();
      45             :   AliTPCclustererKr(const AliTPCclustererKr &param);//copy constructor
      46             :   AliTPCclustererKr &operator = (const AliTPCclustererKr & param); 
      47             :   virtual ~AliTPCclustererKr();
      48             : 
      49             :   //finders
      50             :   virtual Int_t FinderIO();//for MC
      51             :   virtual Int_t FinderIO(AliRawReader* rawReader);//for data
      52             :   virtual Int_t FindClusterKrIO();//main routine for finding clusters
      53             :   virtual void CleanSector(Int_t sector); // clean isolated digits
      54             : 
      55             :   //other
      56             :   void GetXY(Int_t sec,Int_t row,Int_t pad,Double_t& xGlob,Double_t& yGlob);//give XY coordinate of the pad
      57             : 
      58             :   virtual void SetInput(TTree * tree);  //set input tree with digits    
      59             :   virtual void SetOutput(TTree * tree); //set output tree with clusters
      60           0 :   virtual void SetParam(AliTPCParam *param){fParam=param;}//set TPC parameters
      61           0 :   virtual void SetDigArr(AliTPCDigitsArray *digarr){fDigarr=digarr;}//set current array of digits
      62             :   virtual void SetRecoParam(AliTPCRecoParam *recoParam=0);//set reconstruction parameters
      63             : 
      64           0 :   virtual void SetTimeStamp(UInt_t timestamp){ fTimeStamp = timestamp; }
      65           0 :   virtual void SetRun(UInt_t run){ fRun = run; }
      66             : 
      67             :   //setters for cluster finder parameters
      68           0 :   virtual void SetZeroSup(Int_t v){fZeroSup=v;}//set zero suppresion parameter
      69           0 :   virtual void SetFirstBin(Int_t v){fFirstBin=v;}//set first considered timebin
      70           0 :   virtual void SetLastBin(Int_t v){fLastBin=v;}//set last considered timebin
      71           0 :   virtual void SetMaxNoiseAbs(Float_t v){fMaxNoiseAbs=v;}//set maximal noise value
      72           0 :   virtual void SetMaxNoiseSigma(Float_t v){fMaxNoiseSigma=v;}//set maximal noise sigma
      73             : 
      74           0 :   virtual void SetMinAdc(Int_t v){v<=0?fMinAdc=1:fMinAdc=v;}//set fMinAdc
      75           0 :   virtual void SetMinTimeBins(Int_t v){fMinTimeBins=v;}//set fMinTimeBins
      76             : //  virtual void SetMaxPadRange(Int_t v){fMaxPadRange=v;}//set fMaxPadRange
      77             : //  virtual void SetMaxRowRange(Int_t v){fMaxRowRange=v;}//set fMaxRowRange
      78           0 :   virtual void SetMaxTimeRange(Int_t v){fMaxTimeRange=v;}//set fMaxTimeRange
      79           0 :   virtual void SetValueToSize(Float_t v){fValueToSize=v;}//set fValueToSize
      80             : 
      81           0 :   virtual void SetMaxPadRangeCm(Double_t v){fMaxPadRangeCm=v;}//set fMaxPadRangeCm
      82           0 :   virtual void SetMaxRowRangeCm(Double_t v){fMaxRowRangeCm=v;}//set fMaxRowRangeCm
      83             : 
      84           0 :   virtual void SetIsolCut(Short_t v){fIsolCut=v;}
      85             : 
      86           0 :   virtual void SetDebugLevel(Int_t debug){fDebugLevel=debug;}
      87             :   //debug = 0 to 71 -sector number to  print
      88             :   // = 72 - all sectors
      89             :   // = 73 - inners
      90             :   // = 74 - outers
      91             : 
      92           0 :   virtual void SetHistoRow(TH1F *histo)   {fHistoRow   =histo;}
      93           0 :   virtual void SetHistoPad(TH1F *histo)   {fHistoPad   =histo;}
      94           0 :   virtual void SetHistoTime(TH1F *histo)  {fHistoTime  =histo;}
      95           0 :   virtual void SetHistoRowPad(TH2F *histo){fHistoRowPad=histo;}
      96             : 
      97             :   //getters for cluster finder parameters
      98           0 :   Int_t GetZeroSup() const {return fZeroSup;}//get zero suppresion parameter
      99           0 :   Int_t GetFirstBin() const {return fFirstBin;}//get first considered timebin
     100           0 :   Int_t GetLastBin() const {return fLastBin;}//get last considered timebin
     101           0 :   Float_t GetMaxNoiseAbs() const {return fMaxNoiseAbs;}//get maximal noise value
     102           0 :   Float_t GetMaxNoiseSigma() const {return fMaxNoiseSigma;}//get maximal noise sigma
     103             : 
     104           0 :   Int_t GetMinAdc() const {return fMinAdc;}//get fMinAdc
     105           0 :   Int_t GetMinTimeBins() const {return fMinTimeBins;}//get fMinTimeBins
     106             : //  Int_t GetMaxPadRange() const {return fMaxPadRange;}//get fMaxPadRange
     107             : //  Int_t GetMaxRowRange() const {return fMaxRowRange;}//get fMaxRowRange
     108           0 :   Int_t GetMaxTimeRange() const {return fMaxTimeRange;}//get fMaxTimeRange
     109           0 :   Float_t GetValueToSize() const {return fValueToSize;}//get fValueToSize
     110             : 
     111           0 :   Double_t GetMaxPadRangeCm() const {return fMaxPadRangeCm;}//get fMaxPadRangeCm
     112           0 :   Double_t GetMaxRowRangeCm() const {return fMaxRowRangeCm;}//get fMaxRowRangeCm
     113             : 
     114           0 :   Short_t GetIsolCut() const {return fIsolCut;}
     115             : 
     116           0 :   Int_t GetDebugLevel() const {return fDebugLevel;}
     117           0 :   TH1F * GetHistoRow(){return fHistoRow;} 
     118           0 :   TH1F * GetHistoPad(){return fHistoPad;}
     119           0 :   TH1F * GetHistoTime(){return fHistoTime;}
     120           0 :   TH2F * GetHistoRowPad(){return fHistoRowPad;}
     121             : 
     122           0 :   UInt_t GetTimeStamp() const {return fTimeStamp;}
     123           0 :   UInt_t GetRun() const {return fRun;}
     124             : 
     125             : private:
     126             :   void MakeClusters(TObjArray * maximaInSector, Int_t iSec, Int_t &clusterCounter);
     127             :   Bool_t fRawData; //flag =0 for MC =1 for real data
     128             : 
     129             :   TTree * fInput;   //!input  tree with digits - object not owner
     130             :   TTreeSRedirector * fOutput;   //!output tree with clusters - object not owner
     131             : 
     132             :   AliTPCParam * fParam;//!TPC parameters
     133             :   AliTPCDigitsArray *fDigarr;//! pointer to current array if digits
     134             : 
     135             :   //only for raw data :)
     136             :   const AliTPCRecoParam  * fRecoParam;        //! reconstruction parameters
     137             : 
     138             :   //cluster finder parameters
     139             :   Int_t fZeroSup;//zero suppresion parameter = 2 def.
     140             :   Int_t fFirstBin;//first considered time bin used by cluster finder = 60 def.
     141             :   Int_t fLastBin;//last considered time bin used by cluster finder = 950 def.
     142             :   Float_t fMaxNoiseAbs;// maximal noise value on pad used in cluster finder = 2 def.
     143             :   Float_t fMaxNoiseSigma;// maximal noise sigma on pad used in cluster finder = 3 def.
     144             : 
     145             :   Int_t fMinAdc;//minimal value of acd count in each timebin = 3 def.
     146             :   Int_t fMinTimeBins;//minimal value of time bins one after each other = 2 def.
     147             : //  Int_t fMaxPadRange;//maximal pad range from maximum = 4 def.
     148             : //  Int_t fMaxRowRange;//maximal row range from maximum = 3 def.
     149             :   Int_t fMaxTimeRange;//maximal time bin range from maximum = 7 def.
     150             :   Float_t fValueToSize;//ratio cluster value to cluster size = 3.5 def.
     151             : 
     152             :   Double_t fMaxPadRangeCm;//maximal pad range in cm from maximum = 2.5cm def.
     153             :   Double_t fMaxRowRangeCm;//maximal row range in cm from maximum = 3.5cm def.
     154             : 
     155             :   Short_t fIsolCut;//isolation cut in 3D = 5 def.
     156             : 
     157             :   Int_t fDebugLevel;//! debug level variable
     158             :   TH1F *fHistoRow;//!debug histo for rows
     159             :   TH1F *fHistoPad;//!debug histo for pads
     160             :   TH1F *fHistoTime;//!debug histo for timebins
     161             :   TH2F *fHistoRowPad;//!debug histo for rows and pads
     162             : 
     163             :   UInt_t fTimeStamp; //!time stamp from event header
     164             :   UInt_t fRun; //!run from event header
     165          16 :   ClassDef(AliTPCclustererKr,8)  // Time Projection Chamber Kr clusters
     166             : };
     167             : 
     168             : 
     169             : #endif

Generated by: LCOV version 1.11