* 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);
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
// ----------------------------------------------
// ----------------------------------------------
// -- 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)
}
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 {
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
// ----------------------------------------------
// ----------------------------------------------
// -- 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);