fTPConly(0),\r
fTOFTPC(0),\r
fTPCTRD(0),\r
- fTPCEMCal(0)\r
+ fTPCEMCal(0),\r
+ fTPConlydo(kFALSE),\r
+ fTOFTPCdo(kFALSE),\r
+ fTPCTRDdo(kFALSE),\r
+ fTPCEMCaldo(kFALSE)\r
{\r
// Constructor\r
\r
fTPConly(0),\r
fTOFTPC(0),\r
fTPCTRD(0),\r
- fTPCEMCal(0)\r
+ fTPCEMCal(0),\r
+ fTPConlydo(kFALSE),\r
+ fTOFTPCdo(kFALSE),\r
+ fTPCTRDdo(kFALSE),\r
+ fTPCEMCaldo(kFALSE)\r
{\r
//\r
// named ctor\r
fTPConly(ref.fTPConly),\r
fTOFTPC(ref.fTOFTPC),\r
fTPCTRD(ref.fTPCTRD),\r
- fTPCEMCal(ref.fTPCEMCal)\r
+ fTPCEMCal(ref.fTPCEMCal),\r
+ fTPConlydo(ref.fTPConlydo),\r
+ fTOFTPCdo(ref.fTOFTPCdo),\r
+ fTPCTRDdo(ref.fTPCTRDdo),\r
+ fTPCEMCaldo(ref.fTPCEMCaldo)\r
{\r
//\r
// Copy Constructor\r
target.fTOFTPC = fTOFTPC;\r
target.fTPCTRD = fTPCTRD;\r
target.fTPCEMCal = fTPCEMCal;\r
+ target.fTPConlydo = fTPConlydo;\r
+ target.fTOFTPCdo = fTOFTPCdo;\r
+ target.fTPCTRDdo = fTPCTRDdo;\r
+ target.fTPCEMCaldo = fTPCEMCaldo;\r
\r
\r
}\r
//printf("test 7\n");\r
\r
// Complete PID TPC alone\r
- if(fPIDTPConly->IsSelected(&hfetrack,0x0,"recTrackCont",0x0)) {\r
- fTPConly->Fill(pt);\r
+ if(fTPConlydo) {\r
+ if(fPIDTPConly->IsSelected(&hfetrack,0x0,"recTrackCont",0x0)) {\r
+ fTPConly->Fill(pt);\r
+ }\r
}\r
AliDebug(2,"TPC only PID\n");\r
\r
\r
// Complete PID TPC TOF \r
- if(fPIDTOFTPC->IsSelected(&hfetrack,0x0,"recTrackCont",fPIDqaTOFTPC)) {\r
- fTOFTPC->Fill(pt);\r
- AliDebug(2,"TOF TPC PID\n");\r
+ if(fTOFTPCdo) {\r
+ if(fPIDTOFTPC->IsSelected(&hfetrack,0x0,"recTrackCont",fPIDqaTOFTPC)) {\r
+ fTOFTPC->Fill(pt);\r
+ }\r
}\r
+ AliDebug(2,"TOF TPC PID\n");\r
\r
// Complete PID TPC TRD \r
- if(fPIDTPCTRD->IsSelected(&hfetrack,0x0,"recTrackCont",fPIDqaTPCTRD)) {\r
- fTPCTRD->Fill(pt);\r
+ if(fTPCTRDdo) {\r
+ if(fPIDTPCTRD->IsSelected(&hfetrack,0x0,"recTrackCont",fPIDqaTPCTRD)) {\r
+ fTPCTRD->Fill(pt);\r
+ }\r
}\r
AliDebug(2,"TPC TRD PID\n");\r
\r
\r
-\r
- if(!fAODAnalysis) {\r
- // Complete PID TPC TRD \r
- if(fPIDTPCEMCal->IsSelected(&hfetrack,0x0,"recTrackCont",fPIDqaTPCEMCal)) {\r
- fTPCEMCal->Fill(pt);\r
+ if(fTPCEMCaldo) {\r
+ if(!fAODAnalysis) {\r
+ // Complete PID TPC TRD \r
+ if(fPIDTPCEMCal->IsSelected(&hfetrack,0x0,"recTrackCont",fPIDqaTPCEMCal)) {\r
+ fTPCEMCal->Fill(pt);\r
+ }\r
}\r
}\r
AliDebug(2,"TPC EMCal PID\n");\r
virtual void UserExec(Option_t */*option*/);\r
virtual void UserCreateOutputObjects();\r
\r
+ void SetDoTPConly(Bool_t tpconlydo) { fTPConlydo = tpconlydo; };\r
+ void SetDoTOFTPC(Bool_t toftpcdo) { fTOFTPCdo = toftpcdo; };\r
+ void SetDoTPCTRD(Bool_t tpctrddo) { fTPCTRDdo = tpctrddo; };\r
+ void SetDoTPCEMCal(Bool_t tpcemcaldo) { fTPCEMCaldo = tpcemcaldo; };\r
void SetAODAnalysis(Bool_t aodAnalysis) { fAODAnalysis = aodAnalysis; };\r
void SetCentralityEstimator(const char *estimator) { fCentralityEstimator = estimator; }\r
void SetppAnalysis(){\r
TH1F *fTOFTPC; // TOF TPC electron yield\r
TH1F *fTPCTRD; // TPC TRD electron yield\r
TH1F *fTPCEMCal; // TPC EMCal electron yield\r
- \r
+\r
+ // Do PID or not\r
+ Bool_t fTPConlydo; // Do TPC only PID\r
+ Bool_t fTOFTPCdo; // Do TOF TPC \r
+ Bool_t fTPCTRDdo; // Do TPC TRD \r
+ Bool_t fTPCEMCaldo; // Do TPC EMCal \r
+\r
\r
// Debuging Cuts step by step all centrality together: pt, step (6)\r
//THnSparseF *fTrackingCuts; //! Tracking Cuts\r
\r
\r
\r
- ClassDef(AliAnalysisTaskHFEQA, 1); // analysisclass\r
+ ClassDef(AliAnalysisTaskHFEQA, 2); // analysisclass\r
};\r
\r
#endif\r
-AliAnalysisTask *AddTaskHFEQA(Bool_t useMC, Bool_t isAOD, Int_t icollisionsystem = 2, Int_t icent = 2,Int_t debuglevel = 4){
+AliAnalysisTask *AddTaskHFEQA(Bool_t useMC, Bool_t isAOD, Int_t icollisionsystem = 2, Int_t icent = 2,Int_t debuglevel = 4,Bool_t tpconlydo = kTRUE,Bool_t toftpcdo = kTRUE,Bool_t tpctrddo = kTRUE,Bool_t tpcemcaldo = kTRUE){
// Name
TString appendixx("HFEQA");
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
- AliAnalysisTaskHFEQA *task = ConfigHFEQA(useMC,isAOD,icollisionsystem,icent);
+ AliAnalysisTaskHFEQA *task = ConfigHFEQA(useMC,isAOD,icollisionsystem,icent,tpconlydo,toftpcdo,tpctrddo,tpcemcaldo);
mgr->AddTask(task);
mgr->AddClassDebug("AliAnalysisTaskHFEQA",debuglevel);
+ mgr->AddClassDebug("AliHFEpid",debuglevel);
+ mgr->AddClassDebug("AliHFEpidTPC",debuglevel);
+ mgr->AddClassDebug("AliHFEpidTOF",debuglevel);
+ mgr->AddClassDebug("AliHFEpidTRD",debuglevel);
TString containerName = mgr->GetCommonFileName();
containerName += ":";
-AliAnalysisTaskHFEQA* ConfigHFEQA(Bool_t useMC, Bool_t isAOD, Int_t icollisionsystem = 2, Int_t icent = 2){
+AliAnalysisTaskHFEQA* ConfigHFEQA(Bool_t useMC, Bool_t isAOD, Int_t icollisionsystem = 2, Int_t icent = 2,Bool_t tpconlydo = kTRUE,Bool_t toftpcdo = kTRUE,Bool_t tpctrddo = kTRUE,Bool_t tpcemcaldo = kTRUE){
//***************************************//
// Setting up the HFE cuts //
AliAnalysisTaskHFEQA *task = new AliAnalysisTaskHFEQA("taskHFEQA");
printf("task %p\n", task);
- //task->SetpPbAnalysis();
- //if(!isAOD) task->SetRemoveFirstEventInChunk();
- //task->SetRemovePileUp(kFALSE);
task->SetHFECuts(hfecuts);
- //task->GetPIDQAManager()->SetHighResolutionHistos();
- //task->SetRejectKinkMother(kFALSE);
-
+
// Collision system
if (icollisionsystem == 2) task->SetPbPbAnalysis();
else if (icollisionsystem == 1) task->SetpPbAnalysis();
// Configure the PID //
//***************************************//
+ if(tpconlydo) task->SetDoTPConly(kTRUE);
+ if(toftpcdo) task->SetDoTOFTPC(kTRUE);
+ if(tpctrddo) task->SetDoTPCTRD(kTRUE);
+ if(tpcemcaldo) task->SetDoTPCEMCal(kTRUE);
+
+ AliHFEpid *pidTPConly = task->GetPIDTPConly();
+ if(useMC) pidTPConly->SetHasMCData(kTRUE);
+ pidTPConly->AddDetector("TPC", 0);
+
AliHFEpid *pidTOFTPC = task->GetPIDTOFTPC();
if(useMC) pidTOFTPC->SetHasMCData(kTRUE);
pidTOFTPC->AddDetector("TOF", 0);
Double_t tpcparamlowEMCal[1]={paramsTPCdEdxcutlowEMCal[a]};
Double_t tpcparamlow[1]={paramsTPCdEdxcutlow[a]};
Float_t tpcparamhigh=paramsTPCdEdxcuthigh[a];
+ pidTPConly->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh);
pidTOFTPC->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh);
pidTPCTRD->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlow,tpcparamhigh);
pidTPCEMCal->ConfigureTPCcentralityCut(a,cutmodel,tpcparamlowEMCal,tpcparamhigh);
}
+ pidTPConly->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]);
pidTOFTPC->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]);
pidTPCTRD->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlow,paramsTPCdEdxcuthigh[0]);
pidTPCEMCal->ConfigureTPCdefaultCut(cutmodel,paramsTPCdEdxcutlowEMCal,paramsTPCdEdxcuthigh[0]);