update in hm addtask: satya
authorsjena <sjena@cern.ch>
Fri, 29 Aug 2014 12:43:38 +0000 (14:43 +0200)
committersjena <sjena@cern.ch>
Fri, 29 Aug 2014 12:43:38 +0000 (14:43 +0200)
PWGCF/EBYE/NetParticle/macros/AddTaskNetParticle.C

index de5015b..3b1fcbe 100644 (file)
@@ -15,6 +15,9 @@
  *     isCreateCSC    -> Prepare for CrossSectionCorrection 
  *                       - requires isModeEff to be set
  *                       - Proton only
+ *     isSetExt       -> 1 if want to set pt, nSigma from arguments
+ *                       0 takes default values 
+ *
  *     modeCSC        -> Use differnt Pt cut for
  *                       0 : TPC+TOF
  *                       1 : TPC
  *
  ********************************************************************************* */
 
-AliAnalysisTask *AddTaskNetParticle(const Char_t * name = "jthaeder_NetProton", 
-                                   Bool_t isModeDist, Bool_t isModeEff, Bool_t isModeDCA, Bool_t isModeQA = kFALSE,
-                                   Bool_t isCreateCSC = kFALSE, Bool_t isModeAOD = kFALSE, Int_t modeCSC = 0, Int_t modeCuts = 0, Int_t modePID = -1) {
-
-  // TURN OFF QA for now
-  isModeQA = kFALSE;
-
+AliAnalysisTask *AddTaskNetParticle(const Char_t *name   = "jthaeder_NetProton", 
+                                   Bool_t  isModeDist   = kTRUE, 
+                                   Bool_t  isModeEff    = kFALSE, 
+                                   Bool_t  isModeDCA    = kFALSE,
+                                   Bool_t  isModeQA     = kFALSE,
+                                   Bool_t  isCreateCSC  = kFALSE, 
+                                   Bool_t  isModeAOD    = kFALSE,
+                                   Bool_t  isSetExt     = kFALSE,
+                                   Int_t   aodFilterBit = 1024, /* 1024 = RAA cuts */
+                                   Int_t   modeCSC      = 0, 
+                                   Int_t   modeCuts     = 0, 
+                                   Int_t   modePID      =-1,
+                                   Float_t gMinPt       = 0.3,
+                                   Float_t gMaxPt       = 2.5,
+                                   Float_t gMinPtForTof = 0.21,
+                                   Float_t gSigmaITS    = 4.0,
+                                   Float_t gSigmaTPC    = 4.0,   
+                                   Float_t gSigmaTPClow = 3.0,   
+                                   Float_t gSigmaTOF    = 4.0) {
 
   TString sName(name);
 
@@ -92,18 +107,18 @@ AliAnalysisTask *AddTaskNetParticle(const Char_t * name = "jthaeder_NetProton",
   if (isMC) 
     task->SetIsMC();
   if (isModeEff) 
-    task->SetModeEffCreation(1);     // => 1 = on    | 0 = off (default)
+    task->SetModeEffCreation(1);             // => 1 = on    | 0 = off (default)
   if (isModeDCA)
-    task->SetModeDCACreation(1);     // => 1 = on    | 0 = off (default)
+    task->SetModeDCACreation(1);             // => 1 = on    | 0 = off (default)
   if (isModeDist)
-    task->SetModeDistCreation(1);    // => 1 = on    | 0 = off (default)
+    task->SetModeDistCreation(1);            // => 1 = on    | 0 = off (default)
   if (isModeAOD) {
-    task->SetIsAOD(1);               // => 1 = AOD   | 0 = ESD (default)
-    task->SetTrackFilterBit(1024);   // 1024 = RAA cuts
+    task->SetIsAOD(1);                       // => 1 = AOD   | 0 = ESD (default)
+    task->SetTrackFilterBit(aodFilterBit);   
   }
   if (isModeQA)
-    task->SetModeQACreation(1);      // => 1 = on    | 0 = off (default)
-
+    task->SetModeQACreation(1);              // => 1 = on    | 0 = off (default)
+  
   // ----------------------------------------------
   // -- Create helper class
   // ----------------------------------------------
@@ -119,26 +134,19 @@ AliAnalysisTask *AddTaskNetParticle(const Char_t * name = "jthaeder_NetProton",
   // ----------------------------------------------
   // -- Set particle type
   // ----------------------------------------------
-  Float_t minPt, maxPt, minPtEff, maxPtEff, minPtForTOF, etaMax, etaMaxEff, nSigmaITS, nSigmaTPC, nSigmaTPClow, nSigmaTOF; 
+  Float_t minPt, maxPt, minPtEff, maxPtEff, minPtForTOF, etaMax, etaMaxEff, nSigmaITS, nSigmaTPC, nSigmaTPClow, nSigmaTOF, maxPtForTPClow; 
   Int_t pidStrategy;
 
-  if (sName.Contains("Proton")) {
+
+if (sName.Contains("Proton")) {
     helper->SetParticleSpecies(AliPID::kProton);
     minPtForTOF    = 0.69;                //    minPtForTOF = 0.21;
     maxPtForTPClow = 0.69;
-    minPt    = 0.5;     maxPt   = 2.0;    //    minPt    = 0.22;     maxPt   = 4.5;
-    minPtEff = 0.5;    maxPtEff = 2.0;    //    minPtEff = 0.22;     maxPtEff = 4.5;
-    etaMax     = 0.8;  
-    etaMaxEff  = 0.8;  
-    nSigmaITS = 4.0;   nSigmaTPC = 4.0;   nSigmaTPClow = 3.0;   nSigmaTOF = 4.0; 
-
-    if (modePID == -1) { // default
-      pidStrategy = 7;         // 7: ITS + TPC + TOF (using minPtForTOF)
-      if (modeCuts == 1)
-       pidStrategy = 5;       // 5: TPC + TOF (using minPtForTOF) 
-    }
-    else
-      pidStrategy = modePID;
+    minPt          = 0.5;     maxPt   = 2.0;    //    minPt    = 0.22;     maxPt   = 4.5;
+    minPtEff       = 0.5;    maxPtEff = 2.0;    //    minPtEff = 0.22;     maxPtEff = 4.5;
+    etaMax         = 0.8;  
+    etaMaxEff      = 0.8;  
+    nSigmaITS      = 4.0;   nSigmaTPC = 4.0;   nSigmaTPClow = 3.0;   nSigmaTOF = 4.0; 
 
     // For TPC only case
     if (isCreateCSC && modeCSC == 1)
@@ -146,32 +154,32 @@ AliAnalysisTask *AddTaskNetParticle(const Char_t * name = "jthaeder_NetProton",
   }
   else if (sName.Contains("Pion")) {
     helper->SetParticleSpecies(AliPID::kPion);
-    minPt    = 0.3;    maxPt    = 0.6;
-    minPtEff = 0.2;    maxPtEff = 1.0;
+    minPt       = 0.3;    maxPt    = 0.6;
+    minPtEff    = 0.2;    maxPtEff = 1.0;
     minPtForTOF = 0.8;
-    etaMax     = 99.99;    // 0.8 ->> eta cut off for now
-    etaMaxEff  = 99.99;    // 0.9 ->> eta cut off for now
-    nSigmaITS = 2.5;   nSigmaTPC = 2.5;   nSigmaTOF = 2.5;
+    etaMax      = 8.8;    
+    etaMaxEff   = 8.8;    
+    nSigmaITS   = 2.5;   nSigmaTPC = 2.5;   nSigmaTOF = 2.5;
     pidStrategy = 1;
   }
   else if (sName.Contains("Kaon")) {
     helper->SetParticleSpecies(AliPID::kKaon);
-    minPt    = 0.5;    maxPt    = 1.4;
-    minPtEff = 0.1;    maxPtEff = 2.5;
+    minPt       = 0.5;    maxPt    = 1.4;
+    minPtEff    = 0.1;    maxPtEff = 2.5;
     minPtForTOF = 0.5;
-    etaMax     = 99.99;    // 0.8 ->> eta cut off for now
-    etaMaxEff  = 99.99;    // 0.9 ->> eta cut off for now
-    nSigmaITS = 2.5;   nSigmaTPC = 2.5;   nSigmaTOF = 2.5;
+    etaMax      = 0.8;   
+    etaMaxEff   = 0.8;    
+    nSigmaITS   = 2.5;   nSigmaTPC = 2.5;   nSigmaTOF = 2.5;
     pidStrategy = 1;
   }
   else if (sName.Contains("Charge")) {
     helper->SetUsePID(kFALSE);
-    minPt    = 0.3;    maxPt    = 2.5;
-    minPtEff = 0.1;    maxPtEff = 3.0;
-    minPtForTOF = -1.;
-    etaMax     = 0.8; 
-    etaMaxEff  = 0.9; 
-    nSigmaITS = -1.;   nSigmaTPC = -1.;   nSigmaTOF = -1.;
+    minPt       = 0.3;    maxPt    = 2.5;
+    minPtEff    = 0.1;    maxPtEff = 3.0;
+    minPtForTOF =-1.0;
+    etaMax      = 0.8; 
+    etaMaxEff   = 0.8; 
+    nSigmaITS   = -1.;   nSigmaTPC = -1.;   nSigmaTOF = -1.;
     pidStrategy = 1;
   }
   else {
@@ -179,7 +187,34 @@ AliAnalysisTask *AddTaskNetParticle(const Char_t * name = "jthaeder_NetProton",
     delete task;
     return NULL;
   }
-
+// ----------------------------------------------
+// -- use value arguments --
+// ----------------------------------------------
+ if (isSetExt) {
+   minPt          = gMinPt;    
+   maxPt          = gMinPt;
+   minPtForTOF    = gMinPtForTof.;     
+   
+   nSigmaITS      = gSigmaITS;   
+   nSigmaTPC      = gSigmaTPC;   
+   nSigmaTPClow   = gSigmaTPClow;  
+   nSigmaTOF      = gSigmaTOF;
+    
+ }
+ // ----------------------------------------------
+ // -- PID Strategy
+ // ----------------------------------------------
+  if (modePID == -1) { // default
+    pidStrategy   = 7;         // 7: ITS + TPC + TOF (using minPtForTOF)
+    if (modeCuts == 1)
+      pidStrategy = 5;       // 5: TPC + TOF (using minPtForTOF) 
+  }
+  else
+    pidStrategy = modePID;
+  
   // ----------------------------------------------
   // -- Read Environment Variables 
   // ----------------------------------------------
@@ -279,17 +314,9 @@ AliAnalysisTask *AddTaskNetParticle(const Char_t * name = "jthaeder_NetProton",
   // ----------------------------------------------
   // -- data containers - output
   // ----------------------------------------------
-  TString outputFileName   = "";
-  TString outputQAFileName = "";
-  if(isModeAOD){
-    outputFileName   = Form("%s:%s", AliAnalysisManager::GetCommonFileName(), name);
-    outputQAFileName = Form("%s:%s", AliAnalysisManager::GetCommonFileName(), name);
-  }
-  else{
-    outputFileName   = Form("%s.root",   name);
-    outputQAFileName = Form("%sQA.root", name);
-  }
-
+  TString outputFileName   = Form("%s:%s", AliAnalysisManager::GetCommonFileName(), name);
+  TString outputQAFileName = Form("%s:%s", AliAnalysisManager::GetCommonFileName(), name);
+    
   AliAnalysisDataContainer *coutput     = mgr->CreateContainer(name, TList::Class(),  AliAnalysisManager::kOutputContainer, outputFileName);
   AliAnalysisDataContainer *coutputEff  = mgr->CreateContainer(Form("%s_eff",  name), TList::Class(), AliAnalysisManager::kOutputContainer, outputFileName);
   AliAnalysisDataContainer *coutputCont = mgr->CreateContainer(Form("%s_cont", name), TList::Class(), AliAnalysisManager::kOutputContainer, outputFileName);