]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
task derives from AliAnalysisTaskSE
authorjotwinow <jotwinow@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Oct 2010 17:11:00 +0000 (17:11 +0000)
committerjotwinow <jotwinow@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 21 Oct 2010 17:11:00 +0000 (17:11 +0000)
PWG0/dNdPt/AlidNdPtBackgroundCuts.cxx
PWG0/dNdPt/AlidNdPtCutAnalysis.cxx
PWG0/dNdPt/AlidNdPtHelper.h
PWG0/dNdPt/AlidNdPtTask.cxx
PWG0/dNdPt/AlidNdPtTask.h

index 63f96da97b818ab19b47430bbebbbf69876b196f..938ab0a25597b1092353e1827dd76cead1e57c59 100644 (file)
@@ -170,7 +170,7 @@ return kFALSE;
 Bool_t AlidNdPtBackgroundCuts::IsSplittedTrack(AliESDtrack *track1, AliESDtrack *track2)
 {
   // 
-  // check whether track is cosmic
+  // check whether track is splitted
   //
   if(!track1) return kFALSE;
   if(!track2) return kFALSE;
index ff144c1c4882193bcf114d642563d216cb2e9132..277be60192334125cd1379246f4adc53f048de2d 100644 (file)
@@ -149,9 +149,9 @@ void AlidNdPtCutAnalysis::Init(){
   //\r
 \r
   //nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:kinkIdx:isPrim:polarity\r
-  Int_t binsRecMCTrackHist[11]={160,80,80,100,100,30,90,ptNbins, 3, 2, 2};\r
-  Double_t minRecMCTrackHist[11]={0., 0., 0., -5.,-5.,-1.5, 0., ptMin, -1., 0., 0.};\r
-  Double_t maxRecMCTrackHist[11]={160.,10.,1.2, 5.,5.,1.5, 2.*TMath::Pi(), ptMax, 2., 2., 2.};\r
+  Int_t binsRecMCTrackHist[11]={160,80,80,100,100,90,90,ptNbins, 3, 2, 2};\r
+  Double_t minRecMCTrackHist[11]={0., 0., 0., -1.,-1.,-1.5, 0., ptMin, -1., 0., 0.};\r
+  Double_t maxRecMCTrackHist[11]={160.,10.,1.2, 1.,1.,1.5, 2.*TMath::Pi(), ptMax, 2., 2., 2.};\r
 \r
   fRecMCTrackHist = new THnSparseF("fRecMCTrackHist","nClust:chi2PerClust:nClust/nFindableClust:DCAy:DCAz:eta:phi:pt:kinkIdx:isPrim:polarity",11,binsRecMCTrackHist,minRecMCTrackHist,maxRecMCTrackHist);\r
   fRecMCTrackHist->SetBinEdges(7,binsPt);\r
index 47ac2b976a73490d161be7153e97c5445d01484f..ae731fbbda96ebbe048ad7f6e233492aaa64bf90 100644 (file)
@@ -40,9 +40,11 @@ class AlidNdPtHelper : public TObject
 {
   public:
     enum AnalysisMode { kInvalid = -1, kSPD = 0, kTPC, kTPCITS, kTPCSPDvtx, kTPCSPDvtxUpdate, kTPCTrackSPDvtx, kTPCTrackSPDvtxUpdate, kTPCITSHybrid, kTPCITSHybridTrackSPDvtx, kTPCITSHybridTrackSPDvtxDCArPt, kITSStandAloneTrackSPDvtx,kITSStandAloneTPCTrackSPDvtx, kMCRec };
+
     enum ParticleMode { kAllPart = 0, kMCPion, kMCKaon, kMCProton, kPlus, kMinus, kCosmic, kBackgroundTrack, kMCRest, kVZEROCase1, kVZEROCase2};
 
-    enum OutputObject { kInvalidObject = -1, kCutAnalysis = 0, kAnalysis, kCorrection, kSystematics };
+    enum OutputObject { kInvalidObject = -1, kCutAnalysis = 0, kAnalysis, kAnalysisPbPb , kCorrection, kSystematics };
+
     enum TrackObject  { kInvalidTrackObject = -1, kAllTracks = 0, kAccTracks, kRecTracks, kMCTracks };
     enum EventObject  { kInvalidEventObject = -1, kAllEvents = 0, kTriggeredEvents, kAccEvents, kRecEvents, kMCEvents };
     enum CutSteps     { kCutSteps = 3 };
index 29c79d14cb3015b9230f248b46c40789afceb27f..047e37f219bd9586fc9b20dcaa68e18fe8bb497e 100644 (file)
@@ -44,7 +44,7 @@ ClassImp(AlidNdPtTask)
 \r
 //_____________________________________________________________________________\r
 AlidNdPtTask::AlidNdPtTask(const char *name) \r
-  : AliAnalysisTask(name, "dNdPt analysis")\r
+  : AliAnalysisTaskSE(name)\r
   , fESD(0)\r
   , fMC(0)\r
   , fOutput(0)\r
@@ -55,8 +55,7 @@ AlidNdPtTask::AlidNdPtTask(const char *name)
   // Constructor\r
 \r
   // Define input and output slots here\r
-  DefineInput(0, TChain::Class());\r
-  DefineOutput(0, TList::Class());\r
+  DefineOutput(1, TList::Class());\r
 \r
   // create the list for comparison objects\r
   fCompList = new TList;\r
@@ -66,6 +65,7 @@ AlidNdPtTask::AlidNdPtTask(const char *name)
 AlidNdPtTask::~AlidNdPtTask()\r
 {\r
   if(fOutput) delete fOutput;  fOutput =0; \r
+  if(fCompList) delete fCompList;  fCompList =0; \r
 }\r
 \r
 //____________________________________________________________________________\r
@@ -93,41 +93,6 @@ Bool_t AlidNdPtTask::Notify()
 return kTRUE;\r
 }\r
 \r
-//_____________________________________________________________________________\r
-void AlidNdPtTask::ConnectInputData(Option_t *) \r
-{\r
-// connect input data \r
-// called once\r
-\r
-  TTree *tree = dynamic_cast<TTree*> (GetInputData(0));\r
-  if (!tree) {\r
-    Printf("ERROR: Could not read chain from input slot 0");\r
-    return;\r
-  }\r
-\r
-  AliESDInputHandler *esdH = dynamic_cast<AliESDInputHandler*> (AliAnalysisManager::GetAnalysisManager()->GetInputEventHandler());\r
-\r
-  if (!esdH) {\r
-    Printf("ERROR: Could not get ESDInputHandler");\r
-    return;\r
-  } else {\r
-    fESD = esdH->GetEvent();\r
-\r
-    // Enable only the needed branches\r
-    //esdH->SetActiveBranches("AliESDHeader Vertex Tracks");\r
-  }\r
-\r
-  if (fUseMCInfo) {\r
-    AliMCEventHandler* eventHandler = dynamic_cast<AliMCEventHandler*> (AliAnalysisManager::GetAnalysisManager()->GetMCtruthEventHandler());\r
-    if (!eventHandler) {\r
-      Printf("ERROR: Could not retrieve MC event handler");\r
-      return;\r
-    } else { \r
-      fMC = eventHandler->MCEvent();\r
-    }\r
-  }\r
-}\r
-\r
 //_____________________________________________________________________________\r
 Bool_t AlidNdPtTask::AddAnalysisObject(AlidNdPt *pObj) \r
 {\r
@@ -144,12 +109,12 @@ return kTRUE;
 }\r
 \r
 //_____________________________________________________________________________\r
-void AlidNdPtTask::CreateOutputObjects()\r
+void AlidNdPtTask::UserCreateOutputObjects()\r
 {\r
   // Create histograms\r
   // Called once\r
 \r
-  OpenFile(0, "RECREATE");\r
+  OpenFile(1, "RECREATE");\r
 \r
   //\r
   // create output list\r
@@ -167,18 +132,32 @@ void AlidNdPtTask::CreateOutputObjects()
     fOutput->Add(pObj);\r
     count++;\r
   }\r
-  Printf("CreateOutputObjects(): Number of output comparison objects: %d \n", count);\r
+  Printf("UserCreateOutputObjects(): Number of output objects: %d \n", count);\r
 }\r
 \r
 //_____________________________________________________________________________\r
-void AlidNdPtTask::Exec(Option_t *) \r
+void AlidNdPtTask::UserExec(Option_t *) \r
 {\r
+  //\r
   // Called for each event\r
+  //\r
+\r
+  // ESD event\r
+  fESD = (AliESDEvent*) (InputEvent());\r
   if (!fESD) {\r
     Printf("ERROR: ESD event not available");\r
     return;\r
   }\r
 \r
+  // MC event\r
+  if(fUseMCInfo) {\r
+    fMC = MCEvent();\r
+    if (!fMC) {\r
+      Printf("ERROR: MC event not available");\r
+      return;\r
+    }\r
+  }\r
+\r
   // Process analysis\r
   AlidNdPt *pObj = 0;\r
   fPitList->Reset();\r
@@ -187,7 +166,7 @@ void AlidNdPtTask::Exec(Option_t *)
   }\r
 \r
   // Post output data.\r
-  PostData(0, fOutput);\r
+  PostData(1, fOutput);\r
 }\r
 \r
 //_____________________________________________________________________________\r
@@ -196,7 +175,7 @@ void AlidNdPtTask::Terminate(Option_t *)
   // Called one at the end \r
   \r
   // check output data\r
-  fOutput = dynamic_cast<TList*> (GetOutputData(0));\r
+  fOutput = dynamic_cast<TList*> (GetOutputData(1));\r
   if (!fOutput) {\r
     Printf("ERROR: AlidNdPtTask::Terminate(): Output data not avaiable GetOutputData(0)==0x0 ..." );\r
     return;\r
index 65d1ea5027cb0498b6326821d616a7c818b2d1b6..af1947f00a9d74d53ea5ab1e3f259757f9cf427c 100644 (file)
@@ -19,16 +19,15 @@ class AliMagFMaps;
 class TList;
 
 #include "dNdPt/AlidNdPtHelper.h"
-#include "AliAnalysisTask.h"
+#include "AliAnalysisTaskSE.h"
 
-class AlidNdPtTask : public AliAnalysisTask {
+class AlidNdPtTask : public AliAnalysisTaskSE {
  public:
   AlidNdPtTask(const char *name = "AlidNdPtTask");
   virtual ~AlidNdPtTask();
   
-  virtual void   ConnectInputData(Option_t *);
-  virtual void   CreateOutputObjects();
-  virtual void   Exec(Option_t *option);
+  virtual void   UserCreateOutputObjects();
+  virtual void   UserExec(Option_t *option);
   virtual void   Terminate(Option_t *);
   virtual Bool_t Notify();