]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
i) Modifying the GetInputChain function - removing the AliXMLCollection::OverlapColle...
authorpanos <panos@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 15 Mar 2007 10:37:24 +0000 (10:37 +0000)
committerpanos <panos@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 15 Mar 2007 10:37:24 +0000 (10:37 +0000)
STEER/AliTagAnalysis.cxx
STEER/AliTagAnalysis.h

index d9068c11c414fb28b6896d25b5cc5143a6f3a45b..03b54ce03dd5bb7967e935660c6a7ec7305518ba 100644 (file)
@@ -321,22 +321,23 @@ Bool_t AliTagAnalysis::CreateXMLCollection(const char* name, const char *fRunCut
 }
 
 //___________________________________________________________________________
-TChain *AliTagAnalysis::GetInputChain(const char* system, const char*global, const char *wn) {
+TChain *AliTagAnalysis::GetInputChain(const char* system, const char *wn) {
   //returns the chain+event list - used in batch sessions
+  // this function will be removed once the new root 
+  // improvements are committed
   TString fsystem = system;
   Int_t iAccepted = 0;
   //ESD file chain
   TChain *fESDchain = new TChain("esdTree");
   //Event list
   TEventList *fEventList = new TEventList();
-  AliXMLCollection *collection1 = AliXMLCollection::Open(global);
-  AliXMLCollection *collection2 = AliXMLCollection::Open(wn);
-  collection1->OverlapCollection(collection2);
-  collection1->Reset();
-  while (collection1->Next()) {
-    AliInfo(Form("Adding: %s",collection1->GetTURL("")));
-    fESDchain->Add(collection1->GetTURL(""));
-    TEntryList *list = (TEntryList *)collection1->GetEventList("");
+  AliXMLCollection *collection = AliXMLCollection::Open(wn);
+
+  collection->Reset();
+  while (collection->Next()) {
+    AliInfo(Form("Adding: %s",collection->GetTURL("")));
+    fESDchain->Add(collection->GetTURL(""));
+    TEntryList *list = (TEntryList *)collection->GetEventList("");
     for(Int_t i = 0; i < list->GetN(); i++) fEventList->Enter(iAccepted+list->GetEntry(i));
 
     if(fsystem == "pp") iAccepted += 100;
@@ -349,3 +350,40 @@ TChain *AliTagAnalysis::GetInputChain(const char* system, const char*global, con
 
   return fESDchain;
 }
+
+//___________________________________________________________________________
+TChain *AliTagAnalysis::GetChainFromCollection(const char* collectionname, const char* treename) {
+  //returns the TChain+TEntryList object- used in batch sessions
+  TString fAliceFile = treename;
+  Int_t iAccepted = 0;
+  TChain *fAnalysisChain = new TChain();
+  if(fAliceFile == "esdTree") {
+    //ESD file chain
+    fAnalysisChain->SetName("esdTree");
+  } else if(fAliceFile == "aodTree") {
+    //AOD file chain
+    fAnalysisChain->SetName("aodTree");
+    AliFatal("AOD case not yet implemented!!!");
+  }
+  else AliFatal("Inconsistent tree name - use esdTree or aodTree!");
+  //Event list
+  TEntryList *fGlobalList = new TEntryList();
+  AliXMLCollection *collection = AliXMLCollection::Open(collectionname);
+
+  collection->Reset();
+  while (collection->Next()) {
+    AliInfo(Form("Adding: %s",collection->GetTURL("")));
+    fAnalysisChain->Add(collection->GetTURL(""));
+    TEntryList *list = (TEntryList *)collection->GetEventList("");
+    list->SetTreeName(fAliceFile.Data());
+    list->SetFileName(collection->GetTURL(""));
+    fGlobalList->Add(list);
+    iAccepted += list->GetN();
+  }
+
+  fAnalysisChain->SetEntryList(fGlobalList);
+  
+  AliInfo(Form("Number of selected events: %d",iAccepted));
+
+  return fAnalysisChain;
+}
index 089d839cf3d6b8de119d951dc572238bec98e446..64dd30fedeb0fd8b56875caeed3162d4c807aa88 100644 (file)
@@ -49,7 +49,8 @@ class AliTagAnalysis : public TObject {
   Bool_t CreateXMLCollection(const char* name, AliRunTagCuts *RunTagCuts, AliEventTagCuts *EvTagCuts);
   Bool_t CreateXMLCollection(const char* name, const char *fRunCut, const char *fEventCut);
 
-  TChain *GetInputChain(const char* system, const char* global, const char* wn);
+  TChain *GetInputChain(const char* system, const char *wn);
+  TChain *GetChainFromCollection(const char* collectionname, const char* treename);
   
   //____________________________________________________//
  protected: