ClassImp(AliCalorimeterUtils)
-//____________________________________________________________________________
+//____________________________________________
AliCalorimeterUtils::AliCalorimeterUtils() :
TObject(), fDebug(0),
fEMCALGeoName("EMCAL_COMPLETEV1"),fPHOSGeoName("PHOSgeo"),
}
-//_________________________________
-AliCalorimeterUtils::~AliCalorimeterUtils() {
+//_________________________________________
+AliCalorimeterUtils::~AliCalorimeterUtils()
+{
//Dtor
//if(fPHOSGeo) delete fPHOSGeo ;
}
-//_______________________________________________________________
-Bool_t AliCalorimeterUtils::CheckCellFiducialRegion(AliVCluster* cluster, AliVCaloCells* cells, AliVEvent * event, Int_t iev) const {
+//_____________________________________________________________________________________
+Bool_t AliCalorimeterUtils::CheckCellFiducialRegion(AliVCluster* cluster,
+ AliVCaloCells* cells,
+ AliVEvent * event, Int_t iev) const
+{
// Given the list of AbsId of the cluster, get the maximum cell and
// check if there are fNCellsFromBorder from the calorimeter border
}
//_________________________________________________________________________________________________________
-Bool_t AliCalorimeterUtils::ClusterContainsBadChannel(TString calorimeter,UShort_t* cellList, Int_t nCells){
+Bool_t AliCalorimeterUtils::ClusterContainsBadChannel(TString calorimeter,UShort_t* cellList, Int_t nCells)
+{
// Check that in the cluster cells, there is no bad channel of those stored
// in fEMCALBadChannelMap or fPHOSBadChannelMap
}
-//____________________________________________________________________________________________________________________________________________________
-void AliCalorimeterUtils::CorrectClusterEnergy(AliVCluster *clus){
+//_______________________________________________________________
+void AliCalorimeterUtils::CorrectClusterEnergy(AliVCluster *clus)
+{
// Correct cluster energy non linearity
clus->SetE(fEMCALRecoUtils->CorrectClusterEnergyLinearity(clus));
}
-//____________________________________________________________________________________________________________________________________________________
-Int_t AliCalorimeterUtils::GetMaxEnergyCell(AliVCaloCells* cells, AliVCluster* clu, Float_t & clusterFraction) const {
+//___________________________________________________________________________________________________________________
+Int_t AliCalorimeterUtils::GetMaxEnergyCell(AliVCaloCells* cells, AliVCluster* clu, Float_t & clusterFraction) const
+{
//For a given CaloCluster gets the absId of the cell
//with maximum energy deposit.
}
-//____________________________________________________________________________________________________________________________________________________
+//_____________________________________________________________________________________________________
Int_t AliCalorimeterUtils::GetModuleNumber(AliAODPWG4Particle * particle, AliVEvent * inputEvent) const
{
//Get the EMCAL/PHOS module number that corresponds to this particle
return -1;
}
-//____________________________________________________________________________________________________________________________________________________
+//_____________________________________________________________________
Int_t AliCalorimeterUtils::GetModuleNumber(AliVCluster * cluster) const
{
//Get the EMCAL/PHOS module number that corresponds to this cluster
return -1;
}
-//_____________________________________________________________________________________________________________
-Int_t AliCalorimeterUtils::GetModuleNumberCellIndexes(const Int_t absId, const TString calo, Int_t & icol, Int_t & irow, Int_t & iRCU) const
+//___________________________________________________________________________________________________
+Int_t AliCalorimeterUtils::GetModuleNumberCellIndexes(const Int_t absId, const TString calo,
+ Int_t & icol, Int_t & irow, Int_t & iRCU) const
{
//Get the EMCAL/PHOS module, columns, row and RCU number that corresponds to this absId
Int_t imod = -1;
return -1;
}
-//_______________________________________________________________
-//void AliCalorimeterUtils::Init()
-//{
-// //Init reader. Method to be called in AliAnaPartCorrMaker
-//
-// fEMCALBadChannelMap->SetName(Form("EMCALBadMap_%s",fTaskName.Data()));
-// fPHOSBadChannelMap->SetName(Form("PHOSBadMap_%s",fTaskName.Data()));
-//}
-
-//_______________________________________________________________
+//________________________________________
void AliCalorimeterUtils::InitParameters()
{
//Initialize the parameters of the analysis.
}
-//________________________________________________________________
-void AliCalorimeterUtils::InitPHOSBadChannelStatusMap(){
+//_____________________________________________________
+void AliCalorimeterUtils::InitPHOSBadChannelStatusMap()
+{
//Init PHOS bad channels map
if(fDebug > 0 )printf("AliCalorimeterUtils::InitPHOSBadChannelStatusMap()\n");
//In order to avoid rewriting the same histograms
TH1::AddDirectory(oldStatus);
}
-//________________________________________________________________
-void AliCalorimeterUtils::InitPHOSRecalibrationFactors(){
+//______________________________________________________
+void AliCalorimeterUtils::InitPHOSRecalibrationFactors()
+{
//Init EMCAL recalibration factors
if(fDebug > 0 )printf("AliCalorimeterUtils::InitPHOSRecalibrationFactors()\n");
//In order to avoid rewriting the same histograms
}
-//________________________________________________________________
+//___________________________________________
void AliCalorimeterUtils::InitEMCALGeometry()
{
//Initialize EMCAL geometry if it did not exist previously
}
}
-//________________________________________________________________
+//__________________________________________
void AliCalorimeterUtils::InitPHOSGeometry()
{
//Initialize PHOS geometry if it did not exist previously
}
}
-//________________________________________________________________
+//_________________________________________________________
void AliCalorimeterUtils::Print(const Option_t * opt) const
{
printf(" \n") ;
}
-//__________________________________________________
-Bool_t AliCalorimeterUtils::MaskFrameCluster(const Int_t iSM, const Int_t ieta) const {
+//__________________________________________________________________
+Bool_t AliCalorimeterUtils::MaskFrameCluster(const Int_t iSM,
+ const Int_t ieta) const
+{
//Check if cell is in one of the regions where we have significant amount
//of material in front. Only EMCAL
}
-//________________________________________________________________
-Float_t AliCalorimeterUtils::RecalibrateClusterEnergy(AliVCluster * cluster, AliVCaloCells * cells){
+//__________________________________________________________________________
+Float_t AliCalorimeterUtils::RecalibrateClusterEnergy(AliVCluster * cluster,
+ AliVCaloCells * cells)
+{
// Recalibrate the cluster energy, considering the recalibration map and the energy of the cells that compose the cluster.
//Initialize some used variables
return energy;
}
-//________________________________________________________________
+//________________________________________________________________________________
void AliCalorimeterUtils::SetGeometryTransformationMatrices(AliVEvent* inputEvent)
{
//Set the calorimeters transformation matrices
}//PHOS geo and geoManager was not set
}
-//________________________________________________________________
-void AliCalorimeterUtils::RecalculateClusterPosition(AliVCaloCells* cells, AliVCluster* clu){
+//__________________________________________________________________________________________
+void AliCalorimeterUtils::RecalculateClusterPosition(AliVCaloCells* cells, AliVCluster* clu)
+{
//Recalculate EMCAL cluster position
fEMCALRecoUtils->RecalculateClusterPosition((AliEMCALGeometry*)fEMCALGeo, cells,clu);
}
+
+//________________________________________________________________________________
+void AliCalorimeterUtils::RecalculateClusterTrackMatching(AliVEvent * event,
+ TObjArray* clusterArray)
+{
+ //Recalculate track matching
+
+ if (fRecalculateMatching) {
+ fEMCALRecoUtils->FindMatches(event,clusterArray,fEMCALGeo) ;
+ //AliESDEvent* esdevent = dynamic_cast<AliESDEvent*> (event);
+ //if(esdevent){
+ // fEMCALRecoUtils->SetClusterMatchedToTrack(esdevent) ;
+ // fEMCALRecoUtils->SetTracksMatchedToCluster(esdevent) ;
+ //}
+ }
+}