Change TLIST to TREE in the task and macro (M.Krzewicki)
authorjotwinow <jotwinow@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 19 Oct 2012 13:49:28 +0000 (13:49 +0000)
committerjotwinow <jotwinow@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 19 Oct 2012 13:49:28 +0000 (13:49 +0000)
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtTrackDumpTask.cxx
PWGLF/SPECTRA/ChargedHadrons/dNdPt/AlidNdPtTrackDumpTask.h
PWGLF/SPECTRA/ChargedHadrons/dNdPt/macros/AddTask_jacek_dNdPtTrackDumpTaskPbPb_TPCITS.C

index 62847fc..d3e33b6 100644 (file)
@@ -86,12 +86,22 @@ AlidNdPtTrackDumpTask::AlidNdPtTrackDumpTask(const char *name)
   , fLowPtV0DownscaligF(0)\r
   , fProcessAll(kFALSE)\r
   , fProcessCosmics(kFALSE)\r
+  , fTree1(0)\r
+  , fTree2(0)\r
+  , fTree3(0)\r
+  , fTree4(0)\r
+  , fTree5(0)\r
+  , fTree6(0)\r
 {\r
   // Constructor\r
 \r
   // Define input and output slots here\r
-  DefineOutput(1, TList::Class());\r
-\r
+  DefineOutput(1, TTree::Class());\r
+  DefineOutput(2, TTree::Class());\r
+  DefineOutput(3, TTree::Class());\r
+  DefineOutput(4, TTree::Class());\r
+  DefineOutput(5, TTree::Class());\r
+  DefineOutput(6, TTree::Class());\r
 }\r
 \r
 //_____________________________________________________________________________\r
@@ -104,6 +114,8 @@ AlidNdPtTrackDumpTask::~AlidNdPtTrackDumpTask()
   if(fdNdPtAcceptanceCuts) delete fdNdPtAcceptanceCuts; fdNdPtAcceptanceCuts=NULL;\r
   if(fdNdPtRecAcceptanceCuts) delete fdNdPtRecAcceptanceCuts; fdNdPtRecAcceptanceCuts=NULL;  \r
   if(fEsdTrackCuts) delete fEsdTrackCuts; fEsdTrackCuts=NULL;\r
+\r
+\r
 }\r
 \r
 //____________________________________________________________________________\r
@@ -132,7 +144,27 @@ void AlidNdPtTrackDumpTask::UserCreateOutputObjects()
   // create temporary file for output tree\r
   fTreeSRedirector = new TTreeSRedirector("jotwinow_Temp_Trees.root");\r
 \r
-  PostData(1, fOutput);\r
+  fTree1 = new TTree;\r
+  fTree2 = new TTree;\r
+  fTree3 = new TTree;\r
+  fTree4 = new TTree;\r
+  fTree5 = new TTree;\r
+  fTree6 = new TTree;\r
+\r
+  fOutput->Add(fTree1);\r
+  fOutput->Add(fTree2);\r
+  fOutput->Add(fTree3);\r
+  fOutput->Add(fTree4);\r
+  fOutput->Add(fTree5);\r
+  fOutput->Add(fTree6);\r
+\r
+  PostData(1, fTree1);\r
+  PostData(2, fTree2);\r
+  PostData(3, fTree3);\r
+  PostData(4, fTree4);\r
+  PostData(5, fTree5);\r
+  PostData(6, fTree6);\r
+\r
 }\r
 \r
 //_____________________________________________________________________________\r
@@ -180,9 +212,6 @@ void AlidNdPtTrackDumpTask::UserExec(Option_t *)
 \r
   if (fProcessCosmics) { ProcessCosmics(fESD); }\r
   if(IsUseMCInfo()) { ProcessMCEff(fESD,fMC,fESDfriend); }\r
-\r
-  // Post output data.\r
-  PostData(1, fOutput);\r
 }\r
 \r
 //_____________________________________________________________________________\r
@@ -323,8 +352,6 @@ void AlidNdPtTrackDumpTask::ProcessCosmics(AliESDEvent *const event)
            "\n";      \r
         }\r
       }\r
-\r
-  PostData(1, fOutput);\r
 }\r
 \r
 \r
@@ -511,7 +538,7 @@ void AlidNdPtTrackDumpTask::Process(AliESDEvent *const esdEvent, AliMCEvent * co
       // TPC-ITS tracks\r
       //\r
       if(!fTreeSRedirector) return;\r
-      (*fTreeSRedirector)<<"dNdPtTree"<<\r
+      (*fTreeSRedirector)<<"highPt"<<\r
         "fileName.="<<&fileName<<\r
         "runNumber="<<runNumber<<\r
         "evtTimeStamp="<<evtTimeStamp<<\r
@@ -527,7 +554,6 @@ void AlidNdPtTrackDumpTask::Process(AliESDEvent *const esdEvent, AliMCEvent * co
     }\r
   }\r
   \r
-  PostData(1, fOutput);\r
 }\r
 \r
 \r
@@ -1049,7 +1075,7 @@ void AlidNdPtTrackDumpTask::ProcessAll(AliESDEvent *const esdEvent, AliMCEvent *
       //\r
       if(fTreeSRedirector && dumpToTree) \r
       {\r
-        (*fTreeSRedirector)<<"dNdPtTree"<<\r
+        (*fTreeSRedirector)<<"highPt"<<\r
           "fileName.="<<&fileName<<\r
           "runNumber="<<runNumber<<\r
           "evtTimeStamp="<<evtTimeStamp<<\r
@@ -1103,7 +1129,6 @@ void AlidNdPtTrackDumpTask::ProcessAll(AliESDEvent *const esdEvent, AliMCEvent *
     }\r
   }\r
   \r
-  PostData(1, fOutput);\r
 }\r
 \r
 \r
@@ -1351,7 +1376,6 @@ void AlidNdPtTrackDumpTask::ProcessMCEff(AliESDEvent *const esdEvent, AliMCEvent
     }\r
   }\r
   \r
-  PostData(1, fOutput);\r
 }\r
 \r
 //_____________________________________________________________________________\r
@@ -1507,7 +1531,6 @@ void AlidNdPtTrackDumpTask::ProcessV0(AliESDEvent *const esdEvent, AliMCEvent *
       "\n";\r
   }\r
   }\r
-  PostData(1, fOutput);\r
 }\r
 \r
 //_____________________________________________________________________________\r
@@ -1954,78 +1977,78 @@ void AlidNdPtTrackDumpTask::FinishTaskOutput()
   // open temporary file and copy trees to the ouptut container\r
 \r
   TChain* chain = 0;\r
+  /*\r
   TTree* tree1 = 0;\r
   TTree* tree2 = 0;\r
   TTree* tree3 = 0;\r
   TTree* tree4 = 0;\r
   TTree* tree5 = 0;\r
   TTree* tree6 = 0;\r
+  */\r
   //\r
-  chain = new TChain("dNdPtTree");\r
+  chain = new TChain("highPt");\r
   if(chain) { \r
     chain->Add("jotwinow_Temp_Trees.root");\r
-    tree1 = chain->CopyTree("1");\r
+    fTree1 = chain->CopyTree("1");\r
     delete chain; chain=0; \r
   }\r
-  if(tree1) tree1->Print();\r
+  if(fTree1) fTree1->Print();\r
 \r
   //\r
   chain = new TChain("V0s");\r
   if(chain) { \r
     chain->Add("jotwinow_Temp_Trees.root");\r
-    tree2 = chain->CopyTree("1");\r
+    fTree2 = chain->CopyTree("1");\r
     delete chain; chain=0; \r
   }\r
-  if(tree2) tree2->Print();\r
+  if(fTree2) fTree2->Print();\r
 \r
   //\r
   chain = new TChain("dEdx");\r
   if(chain) { \r
     chain->Add("jotwinow_Temp_Trees.root");\r
-    tree3 = chain->CopyTree("1");\r
+    fTree3 = chain->CopyTree("1");\r
     delete chain; chain=0; \r
   }\r
-  if(tree3) tree3->Print();\r
+  if(fTree3) fTree3->Print();\r
 \r
   //\r
   chain = new TChain("Laser");\r
   if(chain) { \r
     chain->Add("jotwinow_Temp_Trees.root");\r
-    tree4 = chain->CopyTree("1");\r
+    fTree4 = chain->CopyTree("1");\r
     delete chain; chain=0; \r
   }\r
-  if(tree4) tree4->Print();\r
+  if(fTree4) fTree4->Print();\r
 \r
   //\r
   chain = new TChain("MCEffTree");\r
   if(chain) { \r
     chain->Add("jotwinow_Temp_Trees.root");\r
-    tree5 = chain->CopyTree("1");\r
+    fTree5 = chain->CopyTree("1");\r
     delete chain; chain=0; \r
   }\r
-  if(tree5) tree5->Print();\r
+  if(fTree5) fTree5->Print();\r
 \r
   //\r
   chain = new TChain("CosmicPairs");\r
   if(chain) { \r
     chain->Add("jotwinow_Temp_Trees.root");\r
-    tree6 = chain->CopyTree("1");\r
+    fTree6 = chain->CopyTree("1");\r
     delete chain; chain=0; \r
   }\r
-  if(tree6) tree6->Print();  \r
+  if(fTree6) fTree6->Print();  \r
 \r
 \r
   OpenFile(1);\r
 \r
-  if(tree1) fOutput->Add(tree1);\r
-  if(tree2) fOutput->Add(tree2);\r
-  if(tree3) fOutput->Add(tree3);\r
-  if(tree4) fOutput->Add(tree4);\r
-  if(tree5) fOutput->Add(tree5);\r
-  if(tree6) fOutput->Add(tree6);\r
-  \r
   // Post output data.\r
-  PostData(1, fOutput);\r
+  PostData(1, fTree1);\r
+  PostData(2, fTree2);\r
+  PostData(3, fTree3);\r
+  PostData(4, fTree4);\r
+  PostData(5, fTree5);\r
+  PostData(6, fTree6);\r
 }\r
 \r
 //_____________________________________________________________________________\r
@@ -2035,7 +2058,7 @@ void AlidNdPtTrackDumpTask::Terminate(Option_t *)
   /*\r
   fOutputSummary = dynamic_cast<TTree*> (GetOutputData(1));\r
   if(fOutputSummary) delete fOutputSummary; fOutputSummary=0;\r
-  TChain* chain = new TChain("dNdPtTree");\r
+  TChain* chain = new TChain("highPt");\r
   if(!chain) return;\r
   chain->Add("jotwinow_HighPt_TrackAndV0_Trees.root");\r
   TTree *tree = chain->CopyTree("1");\r
@@ -2049,7 +2072,4 @@ void AlidNdPtTrackDumpTask::Terminate(Option_t *)
     return;\r
   }\r
   */\r
-\r
-  PostData(1, fOutput);\r
-\r
 }\r
index 7cf4965..c1de26c 100644 (file)
@@ -103,6 +103,7 @@ class AlidNdPtTrackDumpTask : public AliAnalysisTaskSE {
   TList* fOutput;       //! list send on output slot 0
   TIterator *fPitList;  //! iterator over the output objetcs  
 
+
   Bool_t fUseMCInfo;        // use MC information
   Bool_t fUseESDfriends;        // use esd friends
 
@@ -122,7 +123,14 @@ class AlidNdPtTrackDumpTask : public AliAnalysisTaskSE {
   Double_t fProcessAll; // Calculate all track properties including MC
   
   Bool_t fProcessCosmics; // look for cosmic pairs from random trigger
-  
+
+  TTree* fTree1;       //! list send on output slot 0
+  TTree* fTree2;       //! list send on output slot 0
+  TTree* fTree3;       //! list send on output slot 0
+  TTree* fTree4;       //! list send on output slot 0
+  TTree* fTree5;       //! list send on output slot 0
+  TTree* fTree6;       //! list send on output slot 0
+
 
   AlidNdPtTrackDumpTask(const AlidNdPtTrackDumpTask&); // not implemented
   AlidNdPtTrackDumpTask& operator=(const AlidNdPtTrackDumpTask&); // not implemented
index 1e5510a..6a36f80 100644 (file)
@@ -111,7 +111,17 @@ void AddTask_jacek_dNdPtTrackDumpTaskPbPb_TPCITS()
   AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
   mgr->ConnectInput(task, 0, cinput);
 
-  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("FilterEvents", TList::Class(), AliAnalysisManager::kOutputContainer, "FilterEvents_Trees.root");
+  AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("filtered1", TTree::Class(), AliAnalysisManager::kOutputContainer, "FilterEvents_Trees.root");
   mgr->ConnectOutput(task, 1, coutput1);
+  AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("filtered2", TTree::Class(), AliAnalysisManager::kOutputContainer, "FilterEvents_Trees.root");
+  mgr->ConnectOutput(task, 2, coutput2);
+  AliAnalysisDataContainer *coutput3 = mgr->CreateContainer("filtered3", TTree::Class(), AliAnalysisManager::kOutputContainer, "FilterEvents_Trees.root");
+  mgr->ConnectOutput(task, 3, coutput3);
+  AliAnalysisDataContainer *coutput4 = mgr->CreateContainer("filtered4", TTree::Class(), AliAnalysisManager::kOutputContainer, "FilterEvents_Trees.root");
+  mgr->ConnectOutput(task, 4, coutput4);
+  AliAnalysisDataContainer *coutput5 = mgr->CreateContainer("filtered5", TTree::Class(), AliAnalysisManager::kOutputContainer, "FilterEvents_Trees.root");
+  mgr->ConnectOutput(task, 5, coutput5);
+  AliAnalysisDataContainer *coutput6 = mgr->CreateContainer("filtered6", TTree::Class(), AliAnalysisManager::kOutputContainer, "FilterEvents_Trees.root");
+  mgr->ConnectOutput(task, 6, coutput6);
 }