]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliReconstruction.cxx
Changed the directory structure of QA reference data in OCDB
[u/mrichter/AliRoot.git] / STEER / AliReconstruction.cxx
index 3d159dac9824366e250db64c372dfed6f494226d..c2ea90dde72bdf485872087a0fb579b24970012f 100644 (file)
@@ -631,7 +631,7 @@ Bool_t AliReconstruction::Run(const char* input)
   //QA 
   AliQADataMakerSteer qas ; 
   if ( fRunQA && fRawReader) 
-               qas.Run("ALL", fRawReader) ; 
+               qas.Run(fRunLocalReconstruction, fRawReader) ; 
  
  // checking the QA of previous steps
   CheckQA() ; 
@@ -1478,7 +1478,7 @@ Bool_t AliReconstruction::CleanESD(AliESDEvent *esd){
   nTracks=esd->GetNumberOfTracks();
   nV0s=esd->GetNumberOfV0s();
   AliInfo
-  (Form("Number of ESD tracks and V0s after cleaning %d",nTracks,nV0s));
+  (Form("Number of ESD tracks and V0s after cleaning %d %d",nTracks,nV0s));
 
   return rc;
 }
@@ -2653,31 +2653,33 @@ 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 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));
+    // fill EMCAL cell info
+    if (esd->GetEMCALCells()) { // protection against missing ESD information
+      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();
     }
-    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));
+    if (esd->GetPHOSCells()) { // protection against missing ESD information
+      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));
+      }
+      aodPHcells.Sort();
     }
-    aodPHcells.Sort();
 
     // tracklets    
     AliAODTracklets &SPDTracklets = *(aod->GetTracklets());
@@ -2750,8 +2752,12 @@ void AliReconstruction::WriteAlignmentData(AliESDEvent* esd)
          Int_t isp2 = 0;
          while (isp < nspdet) {
            Bool_t isvalid;
-           if(IsSelected(fgkDetectorName[iDet],fUseTrackingErrorsForAlignment)) {
-             isvalid = tracker->GetTrackPointTrackingError(idx[isp2],p,track);
+            TString dets = fgkDetectorName[iDet];
+            if ((fUseTrackingErrorsForAlignment.CompareTo(dets) == 0) ||
+            fUseTrackingErrorsForAlignment.BeginsWith(dets+" ") ||
+            fUseTrackingErrorsForAlignment.EndsWith(" "+dets) ||
+            fUseTrackingErrorsForAlignment.Contains(" "+dets+" ")) {
+              isvalid = tracker->GetTrackPointTrackingError(idx[isp2],p,track);
            } else {
              isvalid = tracker->GetTrackPoint(idx[isp2],p); 
            }