]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
update task to read results from AnalysisResults.root file
authorabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 5 May 2010 06:14:58 +0000 (06:14 +0000)
committerabercuci <abercuci@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 5 May 2010 06:14:58 +0000 (06:14 +0000)
PWG1/TRD/AliTRDcheckESD.cxx
PWG1/TRD/AliTRDcheckESD.h
PWG1/TRD/macros/makeResults.C

index 8910eeab086d224b9b24a9b57c57c573b728e4c1..4a1be79f224a0792718ff5d3fad0b78f35f3331d 100644 (file)
@@ -508,22 +508,28 @@ TObjArray* AliTRDcheckESD::Histos()
 }
 
 //____________________________________________________________________
-Bool_t AliTRDcheckESD::Load(const Char_t *filename, const Char_t *name)
+Bool_t AliTRDcheckESD::Load(const Char_t *file, const Char_t *dir, const Char_t *name)
 {
 // Load data from performance file
 
-  if(!TFile::Open(filename)){
-    AliWarning(Form("Couldn't open file %s.", filename));
+  if(!TFile::Open(file)){
+    AliWarning(Form("Couldn't open file %s.", file));
     return kFALSE;
   }
-  TObjArray *o = NULL;
-  if(!(o = (TObjArray*)gFile->Get(name ? name : GetName()))){
-    AliWarning("Missing histogram container.");
+  if(dir){
+    if(!gFile->cd(dir)){
+      AliWarning(Form("Couldn't cd to %s in %s.", dir, file));
+      return kFALSE;
+    }
+  }
+  TObjArray *o(NULL);
+  const Char_t *tn=(name ? name : GetName());
+  if(!(o = (TObjArray*)gDirectory->Get(tn))){
+    AliWarning(Form("Missing histogram container %s.", tn));
     return kFALSE;
   }
   fHistos = (TObjArray*)o->Clone(GetName());
   gFile->Close();
-  SETBIT(fStatus, kLoad);
   return kTRUE;
 }
 
@@ -543,7 +549,7 @@ Bool_t AliTRDcheckESD::PutTrendValue(const Char_t *name, Double_t val)
 void AliTRDcheckESD::Terminate(Option_t *)
 {
 // Steer post-processing 
-  if(!IsLoad()){
+  if(!fHistos){
     fHistos = dynamic_cast<TObjArray *>(GetOutputData(1));
     if(!fHistos){
       AliError("Histogram container not found in output");
index 88416d37e9c41fd80b3210aeff97ba948f2fb571..8eeb2c2d80cc7c8eec35c2be8073df8c8525b113 100644 (file)
@@ -29,8 +29,7 @@ class AliTRDcheckESD : public AliAnalysisTaskSE {
 public:
   enum ETRDcheckESDstatus {
      kMC        = BIT(0)  // use MC info
-    ,kLoad      = BIT(1)  // container from file
-    ,kCollision = BIT(2)  // 
+    ,kCollision = BIT(1)  // 
   };
   enum ETRDcheckESDhistos {
     kNCl  = 0    // number of clusters per track
@@ -59,9 +58,8 @@ public:
   Bool_t        HasMC() const { return TESTBIT(fStatus, kMC);}
   Bool_t        IsCollision() const {return TESTBIT(fStatus, kCollision);}
   void          SetCollision(Bool_t set=kTRUE) {set ? SETBIT(fStatus, kCollision) : CLRBIT(fStatus, kCollision);}
-  Bool_t        IsLoad() const { return TESTBIT(fStatus, kLoad);}
   TObjArray*    Histos();
-  Bool_t        Load(const Char_t *fn="TRD.Performance.root", const Char_t *name=NULL);
+  Bool_t        Load(const Char_t *fn="AnalysisResults.root", const Char_t *dir="TRD_Performance", const Char_t *name=NULL);
   void          SetMC(Bool_t mc = kTRUE) { mc ? SETBIT(fStatus, kMC) : CLRBIT(fStatus, kMC);}
   Bool_t        PutTrendValue(const Char_t *name, Double_t val);
   void          Terminate(Option_t *);
@@ -94,6 +92,7 @@ private:
   static const Int_t   fgkNclTPC;   // N clusters TPC
   static const Float_t fgkPt;       // min. pt
   static const Float_t fgkEta;      // eta range
+
   ClassDef(AliTRDcheckESD, 5)          // user oriented TRD analysis based on ESD-MC data
 };
 #endif
index f004a3f99ba819a89ffd9722be0bff4a354d8613..ed67783266c780c8cf38e3a3e43d8992c8328c94 100644 (file)
@@ -98,7 +98,7 @@ void makeResults(Char_t *opt = "ALL", const Char_t *files=0x0, Char_t *cid = "",
 
   gStyle->SetOptStat(0);
   gStyle->SetOptFit(0);
-  if(files) mergeProd("TRD.Performance.root", files);
+  if(files) mergeProd("AnalysisResults.root", files);
   Int_t fSteerTask = ParseOptions(opt);
 
   if(!c) c=new TCanvas("c", "Performance", 10, 10, 800, 500);
@@ -121,7 +121,7 @@ void makeResults(Char_t *opt = "ALL", const Char_t *files=0x0, Char_t *cid = "",
 //______________________________________________________
 void processTRD(TNamed *otask)
 {
-  printf("processTRD %s %s\n", otask->GetName(), otask->GetTitle());
+  printf("process[%s] : %s\n", otask->GetName(), otask->GetTitle());
   Int_t debug(0);
   AliTRDrecoTask *task = dynamic_cast<AliTRDrecoTask*>(otask);
   task->SetDebugLevel(debug);
@@ -129,7 +129,7 @@ void processTRD(TNamed *otask)
   task->SetMCdata(mc);
   task->SetFriends(friends);
 
-  if(!task->Load(Form("%s/TRD.Performance.root", gSystem->ExpandPathName("$PWD")))){
+  if(!task->Load(Form("%s/AnalysisResults.root", gSystem->ExpandPathName("$PWD")))){
     Error("makeResults.C", Form("Load data container for task %s failed.", task->GetName()));
     delete task;
     return;
@@ -151,7 +151,7 @@ void processTRD(TNamed *otask)
 //______________________________________________________
 void processESD(TNamed *otask)
 {
-  printf("processESD %s %s\n", otask->GetName(), otask->GetTitle());
+  printf("process[%s] : %s\n", otask->GetName(), otask->GetTitle());
 
   AliTRDcheckESD *esd = dynamic_cast<AliTRDcheckESD*>(otask);
   if(!esd){
@@ -159,8 +159,7 @@ void processESD(TNamed *otask)
     delete otask;
     return;
   }
-  printf("esd[%p]\n", (void*)esd);
-  if(!esd->Load(Form("%s/TRD.Performance.root", gSystem->ExpandPathName("$PWD")))){
+  if(!esd->Load(Form("%s/AnalysisResults.root", gSystem->ExpandPathName("$PWD")), "TRD_Performance")){
     Error("makeResults.C", Form("Load data container for task %s failed.", esd->GetName()));
     delete esd;
     return;