]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGLF/SPECTRA/AntiprotonToProton/configProtonAnalysisBaseObject.C
end-of-line normalization
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / AntiprotonToProton / configProtonAnalysisBaseObject.C
index 50821ac5196292b79e10bd4535b3700b87c1e3f7..32b9135c50ac8408deb7069d4a5292dc1ada4934 100644 (file)
-AliProtonAnalysisBase *GetProtonAnalysisBaseObject(const char* analysisLevel = "ESD",\r
-                                                  Bool_t kAnalyzeMC = kTRUE,\r
-                                                  const char* esdAnalysisType = "Hybrid",\r
-                                                  const char* pidMode = "Bayesian",\r
-                                                  Bool_t kUseOnlineTrigger = kFALSE,\r
-                                                  Bool_t kUseOfflineTrigger = kFALSE,\r
-                                                  Bool_t kRunQA = kFALSE) {\r
-  //Function to setup the AliProtonAnalysisBase object and return it\r
-  AliProtonAnalysisBase *baseAnalysis = new AliProtonAnalysisBase();\r
-  //baseAnalysis->SetDebugMode();\r
-  if(kRunQA) baseAnalysis->SetRunQA();\r
-  baseAnalysis->SetAnalysisLevel(analysisLevel);\r
-  if(analysisLevel == "ESD") {\r
-    if(kAnalyzeMC)\r
-      baseAnalysis->SetTriggerMode(AliProtonAnalysisBase::kMB2);\r
-    //use the offline trigger\r
-    if(kUseOnlineTrigger) baseAnalysis->UseOnlineTrigger();\r
-\r
-    //use the offline trigger\r
-    if(kUseOfflineTrigger) baseAnalysis->OfflineTriggerInit();\r
-\r
-    baseAnalysis->SetMinTPCClusters(80);\r
-    baseAnalysis->SetMaxChi2PerTPCCluster(3.5);\r
-    /*baseAnalysis->SetMaxCov11(2.0);\r
-    baseAnalysis->SetMaxCov22(2.0);\r
-    baseAnalysis->SetMaxCov33(0.5);\r
-    baseAnalysis->SetMaxCov44(0.5);\r
-    baseAnalysis->SetMaxCov55(2.0);*/\r
-    baseAnalysis->SetMinTPCdEdxPoints(80);\r
-    switch(esdAnalysisType) {\r
-    case "TPC":\r
-      baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kTPC);\r
-      baseAnalysis->SetPhaseSpace(10, -0.5, 0.5, 16, 0.5, 0.9);\r
-      baseAnalysis->SetTPCpid();\r
-      baseAnalysis->SetMaxSigmaToVertexTPC(2.0);\r
-      //baseAnalysis->SetMaxDCAXYTPC(1.5);\r
-      //baseAnalysis->SetMaxDCAZTPC(1.5);\r
-      break;\r
-    case "Hybrid":\r
-      baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kHybrid);\r
-      baseAnalysis->SetPhaseSpace(9, -0.9, 0.9, 6, 0.45, 1.05);\r
-      //baseAnalysis->SetPhaseSpace(18, -0.9, 0.9, 32, 0.5, 1.3);\r
-      baseAnalysis->SetTPCpid();\r
-      //baseAnalysis->SetMaxSigmaToVertex(3.0);\r
-      //baseAnalysis->SetMaxDCAXY(0.5);\r
-      //baseAnalysis->SetMaxDCAZ(0.7);\r
-      baseAnalysis->SetMaxDCA3D(2.0);\r
-      //baseAnalysis->SetPointOnITSLayer6();\r
-      //baseAnalysis->SetPointOnITSLayer5();\r
-      //baseAnalysis->SetPointOnITSLayer4();\r
-      //baseAnalysis->SetPointOnITSLayer3();\r
-      //baseAnalysis->SetPointOnITSLayer2();\r
-      //baseAnalysis->SetPointOnITSLayer1();\r
-      baseAnalysis->SetPointOnSPDLayers();\r
-      baseAnalysis->SetMinITSClusters(2);\r
-      break;\r
-    case "FullHybrid":\r
-      baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kFullHybrid);\r
-      baseAnalysis->SetPhaseSpace(9, -0.9, 0.9, 6, 0.45, 1.05);\r
-      //baseAnalysis->SetPhaseSpace(18, -0.9, 0.9, 32, 0.5, 1.3);\r
-      baseAnalysis->SetTPCpid();\r
-      //baseAnalysis->SetMaxSigmaToVertex(3.0);\r
-      //baseAnalysis->SetMaxDCAXY(0.2);\r
-      //baseAnalysis->SetMaxDCAZ(0.7);\r
-      //baseAnalysis->SetMaxDCA3D(0.2);\r
-      baseAnalysis->SetPtDependentDCAxy(5,2.89575e+02,6.62161e+01,1.99085e+00);\r
-      //baseAnalysis->SetPointOnITSLayer6();\r
-      //baseAnalysis->SetPointOnITSLayer5();\r
-      //baseAnalysis->SetPointOnITSLayer4();\r
-      //baseAnalysis->SetPointOnITSLayer3();\r
-      //baseAnalysis->SetPointOnITSLayer2();\r
-      //baseAnalysis->SetPointOnITSLayer1();\r
-      baseAnalysis->SetPointOnSPDLayers();\r
-      baseAnalysis->SetMinITSClusters(2);\r
-      break;\r
-    case "Global":\r
-      baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kGlobal);\r
-      baseAnalysis->SetPhaseSpace(20, -1.0, 1.0, 48, 0.3, 1.5);\r
-      baseAnalysis->SetMaxSigmaToVertex(2.0);\r
-      //baseAnalysis->SetMaxDCAXY(2.0);\r
-      //baseAnalysis->SetMaxDCAZ(2.0);\r
-      baseAnalysis->SetTPCRefit();\r
-      baseAnalysis->SetPointOnITSLayer1();\r
-      baseAnalysis->SetPointOnITSLayer2();\r
-      //baseAnalysis->SetPointOnITSLayer3();\r
-      //baseAnalysis->SetPointOnITSLayer4();\r
-      baseAnalysis->SetPointOnITSLayer5();\r
-      baseAnalysis->SetPointOnITSLayer6();\r
-      baseAnalysis->SetMinITSClusters(5);\r
-      baseAnalysis->SetITSRefit();\r
-      baseAnalysis->SetESDpid();\r
-      baseAnalysis->SetTOFpid();\r
-      break;\r
-    default:\r
-      break;\r
-    }\r
-    baseAnalysis->SetAcceptedVertexDiamond(1.,1.,10.);\r
-    baseAnalysis->SetMinNumOfContributors(0);\r
-    //baseAnalysis->SetEtaMode();\r
-    switch(pidMode) {\r
-    case "Bayesian":\r
-      baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kBayesian);\r
-      //Momentum dependent priors\r
-      /*TFile *f = TFile::Open("$ALICE_ROOT/PWG2/data/PriorProbabilities.root ");\r
-       TF1 *fitElectrons = (TF1 *)f->Get("fitElectrons");\r
-       TF1 *fitMuons = (TF1 *)f->Get("fitMuons");\r
-       TF1 *fitPions = (TF1 *)f->Get("fitPions");\r
-       TF1 *fitKaons = (TF1 *)f->Get("fitKaons");\r
-       TF1 *fitProtons = (TF1 *)f->Get("fitProtons");\r
-       baseAnalysis->SetPriorProbabilityFunctions(fitElectrons,\r
-       fitMuons,\r
-       fitPions,\r
-       fitKaons,\r
-       fitProtons);*/\r
-      //Fixed prior probabilities\r
-      Double_t partFrac[5] = {0.01, 0.01, 0.85, 0.10, 0.05};\r
-      if(!baseAnalysis->IsPriorProbabilityFunctionUsed())\r
-       baseAnalysis->SetPriorProbabilities(partFrac);\r
-      break;\r
-    case "Ratio":\r
-      baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kRatio);\r
-      baseAnalysis->SetRatio(-0.2);\r
-      break;\r
-    case "Sigma":\r
-      baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kSigma1);\r
-      baseAnalysis->SetNSigma(4);\r
-      break;\r
-    default:\r
-      break;\r
-    }//PID mode\r
-  }//ESD\r
-  if(analysisLevel == "MC") \r
-    baseAnalysis->SetPhaseSpace(10, -0.5, 0.5, 16, 0.5, 0.9);\r
-  if(analysisLevel == "AOD")\r
-    baseAnalysis->SetPhaseSpace(10, -0.5, 0.5, 16, 0.5, 0.9);\r
-\r
-  return baseAnalysis;\r
-}\r
+AliProtonAnalysisBase *GetProtonAnalysisBaseObject(const char* analysisLevel = "ESD",
+                                                  Bool_t kAnalyzeMC = kTRUE,
+                                                  const char* esdAnalysisType = "Hybrid",
+                                                  const char* pidMode = "Bayesian",
+                                                  Bool_t kUseOnlineTrigger = kFALSE,
+                                                  Bool_t kUseOfflineTrigger = kFALSE,
+                                                  Bool_t kRunQA = kFALSE) {
+  //Function to setup the AliProtonAnalysisBase object and return it
+  AliProtonAnalysisBase *baseAnalysis = new AliProtonAnalysisBase();
+  //baseAnalysis->SetDebugMode();
+  if(kRunQA) baseAnalysis->SetRunQA();
+  baseAnalysis->SetAnalysisLevel(analysisLevel);
+  if(analysisLevel == "ESD") {
+    if(kAnalyzeMC)
+      baseAnalysis->SetTriggerMode(AliProtonAnalysisBase::kMB2);
+    //use the offline trigger
+    if(kUseOnlineTrigger) baseAnalysis->UseOnlineTrigger();
+
+    //use the offline trigger
+    if(kUseOfflineTrigger) baseAnalysis->OfflineTriggerInit();
+
+    baseAnalysis->SetMinTPCClusters(80);
+    baseAnalysis->SetMaxChi2PerTPCCluster(3.5);
+    /*baseAnalysis->SetMaxCov11(2.0);
+    baseAnalysis->SetMaxCov22(2.0);
+    baseAnalysis->SetMaxCov33(0.5);
+    baseAnalysis->SetMaxCov44(0.5);
+    baseAnalysis->SetMaxCov55(2.0);*/
+    baseAnalysis->SetMinTPCdEdxPoints(80);
+    switch(esdAnalysisType) {
+    case "TPC":
+      baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kTPC);
+      baseAnalysis->SetPhaseSpace(10, -0.5, 0.5, 16, 0.5, 0.9);
+      baseAnalysis->SetTPCpid();
+      baseAnalysis->SetMaxSigmaToVertexTPC(2.0);
+      //baseAnalysis->SetMaxDCAXYTPC(1.5);
+      //baseAnalysis->SetMaxDCAZTPC(1.5);
+      break;
+    case "Hybrid":
+      baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kHybrid);
+      baseAnalysis->SetPhaseSpace(9, -0.9, 0.9, 6, 0.45, 1.05);
+      //baseAnalysis->SetPhaseSpace(18, -0.9, 0.9, 32, 0.5, 1.3);
+      baseAnalysis->SetTPCpid();
+      //baseAnalysis->SetMaxSigmaToVertex(3.0);
+      //baseAnalysis->SetMaxDCAXY(0.5);
+      //baseAnalysis->SetMaxDCAZ(0.7);
+      baseAnalysis->SetMaxDCA3D(2.0);
+      //baseAnalysis->SetPointOnITSLayer6();
+      //baseAnalysis->SetPointOnITSLayer5();
+      //baseAnalysis->SetPointOnITSLayer4();
+      //baseAnalysis->SetPointOnITSLayer3();
+      //baseAnalysis->SetPointOnITSLayer2();
+      //baseAnalysis->SetPointOnITSLayer1();
+      baseAnalysis->SetPointOnSPDLayers();
+      baseAnalysis->SetMinITSClusters(2);
+      break;
+    case "FullHybrid":
+      baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kFullHybrid);
+      baseAnalysis->SetPhaseSpace(9, -0.9, 0.9, 6, 0.45, 1.05);
+      //baseAnalysis->SetPhaseSpace(18, -0.9, 0.9, 32, 0.5, 1.3);
+      baseAnalysis->SetTPCpid();
+      //baseAnalysis->SetMaxSigmaToVertex(3.0);
+      //baseAnalysis->SetMaxDCAXY(0.2);
+      //baseAnalysis->SetMaxDCAZ(0.7);
+      //baseAnalysis->SetMaxDCA3D(0.2);
+      baseAnalysis->SetPtDependentDCAxy(5,2.89575e+02,6.62161e+01,1.99085e+00);
+      //baseAnalysis->SetPointOnITSLayer6();
+      //baseAnalysis->SetPointOnITSLayer5();
+      //baseAnalysis->SetPointOnITSLayer4();
+      //baseAnalysis->SetPointOnITSLayer3();
+      //baseAnalysis->SetPointOnITSLayer2();
+      //baseAnalysis->SetPointOnITSLayer1();
+      baseAnalysis->SetPointOnSPDLayers();
+      baseAnalysis->SetMinITSClusters(2);
+      break;
+    case "Global":
+      baseAnalysis->SetAnalysisMode(AliProtonAnalysisBase::kGlobal);
+      baseAnalysis->SetPhaseSpace(20, -1.0, 1.0, 48, 0.3, 1.5);
+      baseAnalysis->SetMaxSigmaToVertex(2.0);
+      //baseAnalysis->SetMaxDCAXY(2.0);
+      //baseAnalysis->SetMaxDCAZ(2.0);
+      baseAnalysis->SetTPCRefit();
+      baseAnalysis->SetPointOnITSLayer1();
+      baseAnalysis->SetPointOnITSLayer2();
+      //baseAnalysis->SetPointOnITSLayer3();
+      //baseAnalysis->SetPointOnITSLayer4();
+      baseAnalysis->SetPointOnITSLayer5();
+      baseAnalysis->SetPointOnITSLayer6();
+      baseAnalysis->SetMinITSClusters(5);
+      baseAnalysis->SetITSRefit();
+      baseAnalysis->SetESDpid();
+      baseAnalysis->SetTOFpid();
+      break;
+    default:
+      break;
+    }
+    baseAnalysis->SetAcceptedVertexDiamond(1.,1.,10.);
+    baseAnalysis->SetMinNumOfContributors(0);
+    //baseAnalysis->SetEtaMode();
+    switch(pidMode) {
+    case "Bayesian":
+      baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kBayesian);
+      //Momentum dependent priors
+      /*TFile *f = TFile::Open("$ALICE_ROOT/PWG2/data/PriorProbabilities.root ");
+       TF1 *fitElectrons = (TF1 *)f->Get("fitElectrons");
+       TF1 *fitMuons = (TF1 *)f->Get("fitMuons");
+       TF1 *fitPions = (TF1 *)f->Get("fitPions");
+       TF1 *fitKaons = (TF1 *)f->Get("fitKaons");
+       TF1 *fitProtons = (TF1 *)f->Get("fitProtons");
+       baseAnalysis->SetPriorProbabilityFunctions(fitElectrons,
+       fitMuons,
+       fitPions,
+       fitKaons,
+       fitProtons);*/
+      //Fixed prior probabilities
+      Double_t partFrac[5] = {0.01, 0.01, 0.85, 0.10, 0.05};
+      if(!baseAnalysis->IsPriorProbabilityFunctionUsed())
+       baseAnalysis->SetPriorProbabilities(partFrac);
+      break;
+    case "Ratio":
+      baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kRatio);
+      baseAnalysis->SetRatio(-0.2);
+      break;
+    case "Sigma":
+      baseAnalysis->SetPIDMode(AliProtonAnalysisBase::kSigma1);
+      baseAnalysis->SetNSigma(4);
+      break;
+    default:
+      break;
+    }//PID mode
+  }//ESD
+  if(analysisLevel == "MC") 
+    baseAnalysis->SetPhaseSpace(10, -0.5, 0.5, 16, 0.5, 0.9);
+  if(analysisLevel == "AOD")
+    baseAnalysis->SetPhaseSpace(10, -0.5, 0.5, 16, 0.5, 0.9);
+
+  return baseAnalysis;
+}