]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - TPC/Base/AliTPCcalibDButil.cxx
ATO-97, ATO-78 - speed-up creation of the AliTPCCalPad objects from TTree
[u/mrichter/AliRoot.git] / TPC / Base / AliTPCcalibDButil.cxx
index 9cf0f96365ea58efe6c4fe2d891e48f82def7d86..e7c9ee4659378182a2d2a361f4d2dfb498a9b205 100644 (file)
@@ -3213,6 +3213,9 @@ TTree* AliTPCcalibDButil::ConnectGainTrees(TString baseDir)
     tMain->SetAlias((friendName+".spectrMean_MeanRatio").Data(),
                     TString::Format("(%s.spectrMean.fElements/(%s.spectrMean_Mean+0))",
                                     friendName.Data(),friendName.Data()).Data());
+    tMain->SetAlias((friendName+".spectrMean_MeanRatio").Data(),
+                    TString::Format("(%s.spectrMean.fElements/%s.spectrMean_Mean)",
+                                    friendName.Data(),friendName.Data()).Data());
 
     tMain->SetAlias((friendName+".fitMean_LTMRatio").Data(),
                     TString::Format("(%s.fitMean.fElements/(%s.fitMean_LTM+0))",
@@ -3233,6 +3236,9 @@ TTree* AliTPCcalibDButil::ConnectGainTrees(TString baseDir)
     tMain->SetAlias((friendName+".fitRMS_MeanRatio").Data(),
                     TString::Format("(%s.fitRMS.fElements/(%s.fitRMS_Mean+0))",
                                     friendName.Data(),friendName.Data()).Data());
+    tMain->SetAlias((friendName+".fitMean_MeanRatio").Data(),
+                    TString::Format("(%s.fitMean.fElements/%s.fitMean_Mean)",
+                                    friendName.Data(),friendName.Data()).Data());
     
   }
   
@@ -3324,7 +3330,7 @@ TTree* AliTPCcalibDButil::ConnectPulserTrees(TString baseDir, TTree *tMain)
 }  
   
 
-TTree* AliTPCcalibDButil::ConnectDistortionTrees(TString baseDir, TTree *tMain){
+TTree* AliTPCcalibDButil::ConnectDistortionTrees(TString baseDir, TString  selection,  TTree *tMain){
   //
   // baseDir:   Base directory with Distortion information
   // TTrees are added to the base tree as a friend tree
@@ -3333,9 +3339,14 @@ TTree* AliTPCcalibDButil::ConnectDistortionTrees(TString baseDir, TTree *tMain){
   // === add the calibDistortion trees ======================================
   //TString inputTreesDistortionCalib       = gSystem->GetFromPipe(Form("ls %s/calibDistortion/20*/*.tree.root",baseDir.Data()));
   // TString baseDir="$NOTES/reconstruction/distortionFit/"; TTree *tMain=0;
+  // AliTPCcalibDButil::ConnectDistortionTrees("$NOTES/reconstruction/distortionFit/", "calibTimeResHisto.root", 0);
 
-
-  TString inputTreesDistortionCalib       = gSystem->GetFromPipe(Form("find  %s -iname \"calibTimeResHisto.root\"",baseDir.Data()));
+  TString inputTreesDistortionCalib       = "";
+  if (selection.Contains(".list")){    
+    inputTreesDistortionCalib=gSystem->GetFromPipe(Form("cat %s",selection.Data()));
+  }else{
+    inputTreesDistortionCalib=gSystem->GetFromPipe(Form("find  %s -iname \"%s\"",baseDir.Data(),selection.Data()));
+  }
   TObjArray *arrInputTreesDistortionCalib = inputTreesDistortionCalib.Tokenize("\n");  
   //
   for (Int_t itree=0; itree<arrInputTreesDistortionCalib->GetEntriesFast(); ++itree) {
@@ -3387,6 +3398,7 @@ TTree* AliTPCcalibDButil::ConnectCalPadTrees(TString baseDir, TString pattern, T
     friendName.ReplaceAll(baseDir.Data(),"");
     friendName.ReplaceAll("^/","");
     friendName.ReplaceAll("/",".");
+    friendName.ReplaceAll(".tree.",".");
     friendName.ReplaceAll(".root","");
     printf("%s\n", friendName.Data());
     ::Info("AliTPCcalibDButil::ConnectCalPadTrees","%s",friendName.Data());  
@@ -3412,14 +3424,14 @@ TTree* AliTPCcalibDButil::ConnectCalPadTrees(TString baseDir, TString pattern, T
          tMain->SetAlias((friendName+"."+bname+"_MedianDelta").Data(), (friendName+"."+bname+".fElements-"+friendName+"."+bname+"_Median").Data());       
          tMain->SetAlias((friendName+"."+bname+"_LTMDelta").Data(), (friendName+"."+bname+".fElements-"+friendName+"."+bname+"_LTM").Data());       
        }       
-       if (branches->FindObject(bname+"_Med3")!=0){      
-         tMain->SetAlias((friendName+"."+bname+"_Med3Ratio").Data(), (friendName+"."+bname+".fElements/"+friendName+"."+bname+"_Med3").Data());       
-         tMain->SetAlias((friendName+"."+bname+"_Med5Ratio").Data(), (friendName+"."+bname+".fElements/"+friendName+"."+bname+"_Med5").Data());       
-         tMain->SetAlias((friendName+"."+bname+"_Par6GRatio").Data(), (friendName+"."+bname+".fElements/"+friendName+"."+bname+"_Par6G").Data());       
-         tMain->SetAlias((friendName+"."+bname+"_Med3Delta").Data(), (friendName+"."+bname+".fElements-"+friendName+"."+bname+"_Med3").Data());       
-         tMain->SetAlias((friendName+"."+bname+"_Med5Delta").Data(), (friendName+"."+bname+".fElements-"+friendName+"."+bname+"_Med5").Data());       
-         tMain->SetAlias((friendName+"."+bname+"_Par6GDelta").Data(), (friendName+"."+bname+".fElements-"+friendName+"."+bname+"_Par6G").Data());       
-       }       
+       //      if (branches->FindObject(bname+"_Med3.")!=0){     
+         tMain->SetAlias((friendName+"."+bname+"_Med3Ratio").Data(), (friendName+"."+bname+".fElements/"+friendName+"."+bname+"Med3.fElements").Data());       
+         tMain->SetAlias((friendName+"."+bname+"_Med5Ratio").Data(), (friendName+"."+bname+".fElements/"+friendName+"."+bname+"Med5.fElements").Data());       
+         tMain->SetAlias((friendName+"."+bname+"_Par6GRatio").Data(), (friendName+"."+bname+".fElements/"+friendName+"."+bname+"Par6G.fElements").Data());       
+         tMain->SetAlias((friendName+"."+bname+"_Med3Delta").Data(), (friendName+"."+bname+".fElements-"+friendName+"."+bname+"Med3.fElements").Data());       
+         tMain->SetAlias((friendName+"."+bname+"_Med5Delta").Data(), (friendName+"."+bname+".fElements-"+friendName+"."+bname+"Med5.fElements").Data());       
+         tMain->SetAlias((friendName+"."+bname+"_Par6GDelta").Data(), (friendName+"."+bname+".fElements-"+friendName+"."+bname+"Par6G.fElements").Data());       
+         //    }       
       }
     }
   }