ROOT logo
// $Id$

void ConfigureEMCALRecoUtils(AliEMCALRecoUtils* reco,
                             Bool_t  bMC    = kFALSE,
                             Bool_t  bExotic= kTRUE,
                             Bool_t  bNonLin= kFALSE,
                             Bool_t  bRecalE= kTRUE,
                             Bool_t  bBad   = kTRUE,
                             Bool_t  bRecalT= kTRUE)
{  

  // Configure RecoUtils with OADB objects
  
  printf("**** Configure AliEMCALRecoUtils ***\n");
  
  // Exotic cells removal
  
  if(bExotic)
  {
    printf("Remove exotics in EMCAL\n");
    reco->SwitchOnRejectExoticCell() ;
    reco->SwitchOnRejectExoticCluster(); 
    
    reco->SetExoticCellDiffTimeCut(50);     // If |t cell max - t cell in cross| > 50 do not add its energy 
    reco->SetExoticCellFractionCut(0.97);   // 1-Ecross/Ecell > 0.97 -> out
    reco->SetExoticCellMinAmplitudeCut(4.); // 4 GeV    
  }  
  
  //Recalibration factors
  
  if(bRecalE && ! bMC)
  {
    reco->SwitchOnRecalibration();
    reco->SwitchOnRunDepCorrection();    
  } 

  // Remove EMCAL hot channels 
  
  if(bBad)
  {
    reco->SwitchOnBadChannelsRemoval();
    reco->SwitchOnDistToBadChannelRecalculation();
  }
 
  // *** Time recalibration settings ***
  
  if(bRecalT && ! bMC)
  {
    reco->SwitchOnTimeRecalibration();
  }
    
  // position
    
  reco->SetPositionAlgorithm(AliEMCALRecoUtils::kPosTowerGlobal);   

  // Non linearity
  
  if( bNonLin ) 
  { 
    if(!bMC)
    {
      printf("xxx SET Non linearity correction kBeamTestCorrected xxx\n");
      reco->SetNonLinearityFunction(AliEMCALRecoUtils::kBeamTestCorrectedv2);
    }
    else
    {       
      printf("xxx SET Non linearity correction kPi0MCv3 xxx\n");
      reco->SetNonLinearityFunction(AliEMCALRecoUtils::kPi0MCv3);
    }
  }
  else 
  {
    printf("xxx DON'T SET Non linearity correction xxx\n");
    reco->SetNonLinearityFunction(AliEMCALRecoUtils::kNoCorrection);
  }
  
}
 ConfigureEMCALRecoUtils.C:1
 ConfigureEMCALRecoUtils.C:2
 ConfigureEMCALRecoUtils.C:3
 ConfigureEMCALRecoUtils.C:4
 ConfigureEMCALRecoUtils.C:5
 ConfigureEMCALRecoUtils.C:6
 ConfigureEMCALRecoUtils.C:7
 ConfigureEMCALRecoUtils.C:8
 ConfigureEMCALRecoUtils.C:9
 ConfigureEMCALRecoUtils.C:10
 ConfigureEMCALRecoUtils.C:11
 ConfigureEMCALRecoUtils.C:12
 ConfigureEMCALRecoUtils.C:13
 ConfigureEMCALRecoUtils.C:14
 ConfigureEMCALRecoUtils.C:15
 ConfigureEMCALRecoUtils.C:16
 ConfigureEMCALRecoUtils.C:17
 ConfigureEMCALRecoUtils.C:18
 ConfigureEMCALRecoUtils.C:19
 ConfigureEMCALRecoUtils.C:20
 ConfigureEMCALRecoUtils.C:21
 ConfigureEMCALRecoUtils.C:22
 ConfigureEMCALRecoUtils.C:23
 ConfigureEMCALRecoUtils.C:24
 ConfigureEMCALRecoUtils.C:25
 ConfigureEMCALRecoUtils.C:26
 ConfigureEMCALRecoUtils.C:27
 ConfigureEMCALRecoUtils.C:28
 ConfigureEMCALRecoUtils.C:29
 ConfigureEMCALRecoUtils.C:30
 ConfigureEMCALRecoUtils.C:31
 ConfigureEMCALRecoUtils.C:32
 ConfigureEMCALRecoUtils.C:33
 ConfigureEMCALRecoUtils.C:34
 ConfigureEMCALRecoUtils.C:35
 ConfigureEMCALRecoUtils.C:36
 ConfigureEMCALRecoUtils.C:37
 ConfigureEMCALRecoUtils.C:38
 ConfigureEMCALRecoUtils.C:39
 ConfigureEMCALRecoUtils.C:40
 ConfigureEMCALRecoUtils.C:41
 ConfigureEMCALRecoUtils.C:42
 ConfigureEMCALRecoUtils.C:43
 ConfigureEMCALRecoUtils.C:44
 ConfigureEMCALRecoUtils.C:45
 ConfigureEMCALRecoUtils.C:46
 ConfigureEMCALRecoUtils.C:47
 ConfigureEMCALRecoUtils.C:48
 ConfigureEMCALRecoUtils.C:49
 ConfigureEMCALRecoUtils.C:50
 ConfigureEMCALRecoUtils.C:51
 ConfigureEMCALRecoUtils.C:52
 ConfigureEMCALRecoUtils.C:53
 ConfigureEMCALRecoUtils.C:54
 ConfigureEMCALRecoUtils.C:55
 ConfigureEMCALRecoUtils.C:56
 ConfigureEMCALRecoUtils.C:57
 ConfigureEMCALRecoUtils.C:58
 ConfigureEMCALRecoUtils.C:59
 ConfigureEMCALRecoUtils.C:60
 ConfigureEMCALRecoUtils.C:61
 ConfigureEMCALRecoUtils.C:62
 ConfigureEMCALRecoUtils.C:63
 ConfigureEMCALRecoUtils.C:64
 ConfigureEMCALRecoUtils.C:65
 ConfigureEMCALRecoUtils.C:66
 ConfigureEMCALRecoUtils.C:67
 ConfigureEMCALRecoUtils.C:68
 ConfigureEMCALRecoUtils.C:69
 ConfigureEMCALRecoUtils.C:70
 ConfigureEMCALRecoUtils.C:71
 ConfigureEMCALRecoUtils.C:72
 ConfigureEMCALRecoUtils.C:73
 ConfigureEMCALRecoUtils.C:74
 ConfigureEMCALRecoUtils.C:75
 ConfigureEMCALRecoUtils.C:76
 ConfigureEMCALRecoUtils.C:77
 ConfigureEMCALRecoUtils.C:78