ROOT logo
/**************************************************************************
 * Copyright(c) 2007-2009, ALICE Experiment at CERN, All rights reserved. *
 *                                                                        *
 * Author: The ALICE Off-line Project.                                    *
 * Contributors are mentioned in the code where appropriate.              *
 *                                                                        *
 * Permission to use, copy, modify and distribute this software and its   *
 * documentation strictly for non-commercial purposes is hereby granted   *
 * without fee, provided that the above copyright notice appears in all   *
 * copies and that both the copyright notice and this permission notice   *
 * appear in the supporting documentation. The authors make no claims     *
 * about the suitability of this software for any purpose. It is          *
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/

///////////////////////////////////////////////////////////////////
//                                                               //
// Implementation of the base class for SDD detector algorithms  //
// Origin: F.Prino, Torino, prino@to.infn.it                     //
//                                                               //
///////////////////////////////////////////////////////////////////

#include "AliITSOnlineSDD.h"
#include "TH2F.h"

ClassImp(AliITSOnlineSDD)
//______________________________________________________________________
  AliITSOnlineSDD::AliITSOnlineSDD():TObject(),fDDL(0),fCarlos(0),fSide(0),fFirstGoodTB(0),fLastGoodTB(0)
{
  // default constructor
  SetFirstGoodTB();
  SetLastGoodTB();
}
//______________________________________________________________________
  AliITSOnlineSDD::AliITSOnlineSDD(Int_t nddl, Int_t ncarlos, Int_t sid):TObject(),fDDL(0),fCarlos(0),fSide(0),fFirstGoodTB(0),fLastGoodTB(0)
{
  // standard constructor
  SetDDL(nddl);
  SetCarlos(ncarlos);
  SetDetectorSide(sid);
  SetFirstGoodTB();
  SetLastGoodTB();
}
//______________________________________________________________________
TH2F* AliITSOnlineSDD::ApplyZeroSuppression(TH2F* hRaw, Float_t basl, Int_t tL, Int_t tH){
  // apply zero suppression 

  Int_t nx=hRaw->GetNbinsX();
  Float_t xmin=hRaw->GetXaxis()->GetXmin();
  Float_t xmax=hRaw->GetXaxis()->GetXmax();
  Int_t ny=hRaw->GetNbinsY();
  Float_t ymin=hRaw->GetYaxis()->GetXmin();
  Float_t ymax=hRaw->GetYaxis()->GetXmax();
  TH2F* hZeroSupp=new TH2F(Form("%s_ZeroSupp",hRaw->GetName()),"",nx,xmin,xmax,ny,ymin,ymax);
  for(Int_t ix=1; ix<=nx;ix++){
    for(Int_t iy=1; iy<=ny;iy++){
      //                     N
      // Get "quintuple":   WCE
      //                     S
      Float_t cC=hRaw->GetBinContent(ix,iy)-basl;
      Int_t nLow=0, nHigh=0;      
      if(cC<tL){
	hZeroSupp->SetBinContent(ix,iy,0.);
	continue;
      }
      nLow++; // cC is greater than tL
      if(cC>tH) nHigh++;
      Float_t wW=0.;
      if(iy>0) wW=hRaw->GetBinContent(ix,iy-1)-basl;
      if(wW>tL) nLow++;
      if(wW>tH) nHigh++;
      Float_t eE=0.;
      if(iy<ny) eE=hRaw->GetBinContent(ix,iy+1)-basl;
      if(eE>tL) nLow++;
      if(eE>tH) nHigh++;
      Float_t nN=0.;
      if(ix<nx) nN=hRaw->GetBinContent(ix+1,iy)-basl;
      if(nN>tL) nLow++;
      if(nN>tH) nHigh++;
      Float_t sS=0.;
      if(ix>0) sS=hRaw->GetBinContent(ix-1,iy)-basl;
      if(sS>tL) nLow++;
      if(sS>tH) nHigh++;
      if(nLow>=2 && nHigh>=1){
	hZeroSupp->SetBinContent(ix,iy,cC);
      }else{
	hZeroSupp->SetBinContent(ix,iy,0.);
      }
    }
  }
  return hZeroSupp;
}
 AliITSOnlineSDD.cxx:1
 AliITSOnlineSDD.cxx:2
 AliITSOnlineSDD.cxx:3
 AliITSOnlineSDD.cxx:4
 AliITSOnlineSDD.cxx:5
 AliITSOnlineSDD.cxx:6
 AliITSOnlineSDD.cxx:7
 AliITSOnlineSDD.cxx:8
 AliITSOnlineSDD.cxx:9
 AliITSOnlineSDD.cxx:10
 AliITSOnlineSDD.cxx:11
 AliITSOnlineSDD.cxx:12
 AliITSOnlineSDD.cxx:13
 AliITSOnlineSDD.cxx:14
 AliITSOnlineSDD.cxx:15
 AliITSOnlineSDD.cxx:16
 AliITSOnlineSDD.cxx:17
 AliITSOnlineSDD.cxx:18
 AliITSOnlineSDD.cxx:19
 AliITSOnlineSDD.cxx:20
 AliITSOnlineSDD.cxx:21
 AliITSOnlineSDD.cxx:22
 AliITSOnlineSDD.cxx:23
 AliITSOnlineSDD.cxx:24
 AliITSOnlineSDD.cxx:25
 AliITSOnlineSDD.cxx:26
 AliITSOnlineSDD.cxx:27
 AliITSOnlineSDD.cxx:28
 AliITSOnlineSDD.cxx:29
 AliITSOnlineSDD.cxx:30
 AliITSOnlineSDD.cxx:31
 AliITSOnlineSDD.cxx:32
 AliITSOnlineSDD.cxx:33
 AliITSOnlineSDD.cxx:34
 AliITSOnlineSDD.cxx:35
 AliITSOnlineSDD.cxx:36
 AliITSOnlineSDD.cxx:37
 AliITSOnlineSDD.cxx:38
 AliITSOnlineSDD.cxx:39
 AliITSOnlineSDD.cxx:40
 AliITSOnlineSDD.cxx:41
 AliITSOnlineSDD.cxx:42
 AliITSOnlineSDD.cxx:43
 AliITSOnlineSDD.cxx:44
 AliITSOnlineSDD.cxx:45
 AliITSOnlineSDD.cxx:46
 AliITSOnlineSDD.cxx:47
 AliITSOnlineSDD.cxx:48
 AliITSOnlineSDD.cxx:49
 AliITSOnlineSDD.cxx:50
 AliITSOnlineSDD.cxx:51
 AliITSOnlineSDD.cxx:52
 AliITSOnlineSDD.cxx:53
 AliITSOnlineSDD.cxx:54
 AliITSOnlineSDD.cxx:55
 AliITSOnlineSDD.cxx:56
 AliITSOnlineSDD.cxx:57
 AliITSOnlineSDD.cxx:58
 AliITSOnlineSDD.cxx:59
 AliITSOnlineSDD.cxx:60
 AliITSOnlineSDD.cxx:61
 AliITSOnlineSDD.cxx:62
 AliITSOnlineSDD.cxx:63
 AliITSOnlineSDD.cxx:64
 AliITSOnlineSDD.cxx:65
 AliITSOnlineSDD.cxx:66
 AliITSOnlineSDD.cxx:67
 AliITSOnlineSDD.cxx:68
 AliITSOnlineSDD.cxx:69
 AliITSOnlineSDD.cxx:70
 AliITSOnlineSDD.cxx:71
 AliITSOnlineSDD.cxx:72
 AliITSOnlineSDD.cxx:73
 AliITSOnlineSDD.cxx:74
 AliITSOnlineSDD.cxx:75
 AliITSOnlineSDD.cxx:76
 AliITSOnlineSDD.cxx:77
 AliITSOnlineSDD.cxx:78
 AliITSOnlineSDD.cxx:79
 AliITSOnlineSDD.cxx:80
 AliITSOnlineSDD.cxx:81
 AliITSOnlineSDD.cxx:82
 AliITSOnlineSDD.cxx:83
 AliITSOnlineSDD.cxx:84
 AliITSOnlineSDD.cxx:85
 AliITSOnlineSDD.cxx:86
 AliITSOnlineSDD.cxx:87
 AliITSOnlineSDD.cxx:88
 AliITSOnlineSDD.cxx:89
 AliITSOnlineSDD.cxx:90
 AliITSOnlineSDD.cxx:91
 AliITSOnlineSDD.cxx:92