]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliReconstruction.cxx
Summary of all changes:
[u/mrichter/AliRoot.git] / STEER / AliReconstruction.cxx
index a827242697692e424e779b980dbc5dba91477af0..5e4ff664d0318328048af4310ee24faa5b1aca34 100644 (file)
 #include "AliESDkink.h"
 #include "AliESDtrack.h"
 #include "AliESDCaloCluster.h"
+#include "AliESDCaloCells.h"
 #include "AliMultiplicity.h"
 #include "AliTracker.h"
 #include "AliVertexer.h"
@@ -966,7 +967,7 @@ Bool_t AliReconstruction::Run(const char* input)
         
    AliCDBId* id=0;      
    while((id = dynamic_cast<AliCDBId*> (iter2.Next()))){        
-         cdbListCopy->Add(id->Clone());         
+         cdbListCopy->Add(new TObjString(id->ToString().Data()));       
    }    
         
    tree->GetUserInfo()->Add(cdbMapCopy);        
@@ -1303,32 +1304,23 @@ Bool_t AliReconstruction::RunMuonTracking(AliESDEvent*& esd)
     return kFALSE;
   }
      
-  // create Tracks
-  fLoader[iDet]->LoadTracks("update");
-  fLoader[iDet]->CleanTracks();
-  fLoader[iDet]->MakeTracksContainer();
-
   // read RecPoints
   fLoader[iDet]->LoadRecPoints("read");  
+
   tracker->LoadClusters(fLoader[iDet]->TreeR());
   
   Int_t rv = tracker->Clusters2Tracks(esd);
   
-  fLoader[iDet]->UnloadRecPoints();
-  
   if ( rv )
   {
     AliError(Form("%s Clusters2Tracks failed", fgkDetectorName[iDet]));
     return kFALSE;
   }
   
-  tracker->UnloadClusters();
-  
   fLoader[iDet]->UnloadRecPoints();
 
-  fLoader[iDet]->WriteTracks("OVERWRITE");
-  fLoader[iDet]->UnloadTracks();
-
+  tracker->UnloadClusters();
+  
   delete tracker;
   
   return kTRUE;
@@ -2029,7 +2021,7 @@ void AliReconstruction::ESDFile2AODFile(TFile* esdFile, TFile* aodFile)
     header->SetZDCP1Energy     (esd->GetZDCP1Energy()     );
     header->SetZDCN2Energy     (esd->GetZDCN2Energy()     );
     header->SetZDCP2Energy     (esd->GetZDCP2Energy()     );
-    header->SetZDCEMEnergy     (esd->GetZDCEMEnergy()     );
+    header->SetZDCEMEnergy     (esd->GetZDCEMEnergy(0),esd->GetZDCEMEnergy(1));
     header->SetRefMultiplicity   (nTracks);
     header->SetRefMultiplicityPos(nPosTracks);
     header->SetRefMultiplicityNeg(nTracks - nPosTracks);
@@ -2625,12 +2617,6 @@ void AliReconstruction::ESDFile2AODFile(TFile* esdFile, TFile* aodFile)
     // Access to the AOD container of clusters
     TClonesArray &caloClusters = *(aod->GetCaloClusters());
     Int_t jClusters=0;
-
-    // Calo Clusters
-    TArrayS EMCCellNumber(15000);
-    TArrayD EMCCellAmplitude(15000);
-    Int_t nEMCCells = 0;
-    const Float_t fEMCAmpScale = 1./500;
  
     for (Int_t iClust=0; iClust<nCaloClus; ++iClust) {
 
@@ -2649,16 +2635,7 @@ void AliReconstruction::ESDFile2AODFile(TFile* esdFile, TFile* aodFile)
       else if (cluster->GetClusterType() == AliESDCaloCluster::kEMCALClusterv1) {
        ttype = AliAODCluster::kEMCALClusterv1;
       }
-      else if (cluster->GetClusterType() == AliESDCaloCluster::kEMCALPseudoCluster) {
-       // Collect raw tower info
-       for (Int_t iDig = 0; iDig < cluster->GetNumberOfDigits(); iDig++) {
-         EMCCellNumber[nEMCCells] = cluster->GetDigitIndex()->At(iDig);
-         EMCCellAmplitude[nEMCCells] = fEMCAmpScale*cluster->GetDigitAmplitude()->At(iDig);
-         nEMCCells++;
-       }
-       // don't write cluster data (it's just a pseudo cluster, holding the tower information)
-       continue; 
-      }
+
       
       AliAODCaloCluster *caloCluster = new(caloClusters[jClusters++]) AliAODCaloCluster(id,
                                                                                        nLabel,
@@ -2674,14 +2651,31 @@ void AliReconstruction::ESDFile2AODFile(TFile* esdFile, TFile* aodFile)
     caloClusters.Expand(jClusters); // resize TObjArray to 'remove' slots for pseudo clusters   
     // end of loop on calo clusters
 
-    // fill EMC cell info
-    AliAODCaloCells &EMCCells = *(aod->GetEmcalCells());
-    EMCCells.CreateContainer(nEMCCells);
-    EMCCells.SetType(AliAODCaloCells::kEMCAL);
-    for (Int_t iCell = 0; iCell < nEMCCells; iCell++) {      
-      EMCCells.SetCell(iCell,EMCCellNumber[iCell],EMCCellAmplitude[iCell]);
+    // fill PHOS cell info
+
+    AliESDCaloCells &esdEMcells = *(esd->GetEMCALCells());
+    Int_t nEMcell = esdEMcells.GetNumberOfCells() ;
+
+    AliAODCaloCells &aodEMcells = *(aod->GetEMCALCells());
+    aodEMcells.CreateContainer(nEMcell);
+    aodEMcells.SetType(AliAODCaloCells::kEMCAL);
+    for (Int_t iCell = 0; iCell < nEMcell; iCell++) {      
+      aodEMcells.SetCell(iCell,esdEMcells.GetCellNumber(iCell),esdEMcells.GetAmplitude(iCell));
+    }
+    aodEMcells.Sort();
+
+    // fill PHOS cell info
+
+    AliESDCaloCells &esdPHcells = *(esd->GetPHOSCells());
+    Int_t nPHcell = esdPHcells.GetNumberOfCells() ;
+
+    AliAODCaloCells &aodPHcells = *(aod->GetPHOSCells());
+    aodPHcells.CreateContainer(nPHcell);
+    aodPHcells.SetType(AliAODCaloCells::kPHOS);
+    for (Int_t iCell = 0; iCell < nPHcell; iCell++) {      
+      aodPHcells.SetCell(iCell,esdPHcells.GetCellNumber(iCell),esdPHcells.GetAmplitude(iCell));
     }
-    EMCCells.Sort();
+    aodPHcells.Sort();
 
     // tracklets    
     AliAODTracklets &SPDTracklets = *(aod->GetTracklets());