// Collision type: 0 = p-p 1 = Pb-Pb
Int_t iCollisionType = 0;
-Int_t runNumbers[5] = {145384};
+// Trigger mask.
+// Still need to change:
+UInt_t kTriggerInt = AliVEvent::kAnyINT;
+UInt_t kTriggerMuonAll = AliVEvent::kMUL7 | AliVEvent::kMUSH7 | AliVEvent::kMUU7 | AliVEvent::kMUS7;
+UInt_t kTriggerMuonBarell = AliVEvent::kMUU7;
+UInt_t kTriggerEMC = AliVEvent::kEMC7;
+UInt_t kTriggerHM = AliVEvent::kHighMult;
+// Main trigger mask used:
+UInt_t kTriggerMask = kTriggerInt;
+
+Int_t runNumbers[5] = {154780};
Bool_t doCDBconnect = 1;
Bool_t doEventStat = 1;
Bool_t doSDD = 1; // needs RP
Bool_t doSSDdEdx = 1;
-Bool_t doTRD = 0;
+Bool_t doTRD = 1;
Bool_t doITS = 1;
-Bool_t doITSsaTracks = 1; // new
-Bool_t doITSalign = 0; // new (try to load geom)
+Bool_t doITSsaTracks = 1;
+Bool_t doITSalign = 1;
Bool_t doCALO = 1;
Bool_t doMUONTrig = 1;
Bool_t doImpParRes = 1;
Bool_t doMUON = 1;
Bool_t doTOF = 1;
Bool_t doHMPID = 1;
-Bool_t doT0 = 1; // new
-Bool_t doZDC = 0;
+Bool_t doT0 = 1;
+Bool_t doZDC = 1;
+Bool_t doPIDResponse = 1;
+Bool_t doPIDqa = 1; //new
+Bool_t doFMD = 1; // new
Bool_t doMUONEff = 0; // NEEDS geometry
Bool_t doV0 = 0; // NEEDS MCtruth
// visible name. ("sim", "pp", ...)
// Name in train page (DON'T CHANGE)
TString visible_name = Form("QA$2_$3%s", train_tag.Data()); //# FIXED #
-TString job_comment = "PWG1 QA train(no TRD, no ZDC)"; // Can add observations here
+TString job_comment = "PWG1 QA kAnyInt, QAsym(add kMUU7 and kEMC7) CALO (add kEMC7) triggers"; // Can add observations here
// Job tag (DON'T CHANGE)
TString job_tag = Form("%s: %s", visible_name.Data(), job_comment.Data());
// Package versions - Modify as needed
-TString root_version = "v5-28-00a";
-TString aliroot_version = "v4-21-17b-AN";
+TString root_version = "v5-28-00e-1";
+TString aliroot_version = "v4-21-29-AN";
// Production directory - change as needed for test mode
-TString grid_datadir = "/alice/data/2011/LHC11a";
+TString grid_datadir = "/alice/data/2011/LHC11c";
// Work directory in GRID (DON'T CHANGE)
TString grid_workdir = "/alice/cern.ch/user/a/alidaq/QA/QA$2";
// Job splitting
// File merging
Int_t maxMergeFiles = 10; // Max files to merge in a chunk
// Data pattern - change as needed for test mode
-TString data_pattern = "*ESDs/Pass1/*ESDs.root";
+TString data_pattern = "*ESDs/pass1/*ESDs.root";
// Output directory (DON'T CHANGE)
TString alien_outdir = "$1/QA$2";
// Input collection (production mode)
out << " doHMPID = " << doHMPID << ";" << endl;
out << " doZDC = " << doZDC << ";" << endl;
out << " doT0 = " << doT0 << ";" << endl;
+ out << " doPIDResponse = " << doPIDResponse << ";" << endl;
+ out << " doPIDqa = " << doPIDqa << ";" << endl;
+ out << " doFMD = " << doFMD << ";" << endl;
out << " doEventStat = " << doEventStat << ";" << endl;
if (iCollisionType) out << " doCentrality = " << doCentrality << ";" << endl;
out << "}" << endl;
LoadLibraries();
// Create manager
AliAnalysisManager *mgr = new AliAnalysisManager("PilotAnalysis", "Production train");
- mgr->SetNSysInfo(100);
+ if (!strcmp(plugin_mode,"test")) mgr->SetNSysInfo(100);
// Input handler
AliESDInputHandlerRP *esdHandler = new AliESDInputHandlerRP();
esdHandler->SetReadFriends(kTRUE);
gSystem->Load("libPWG4PartCorrBase");
gSystem->Load("libPWG4PartCorrDep");
}
- if(doMUONTrig) {
+ if(doMUON || doMUONTrig) {
gSystem->Load("libPWG3base");
gSystem->Load("libPWG3muon");
gSystem->Load("libPWG3muondep");
- }
+ }
+ if (doFMD) {
+ gSystem->Load("libPWG2forward2");
+ }
}
void AddAnalysisTasks()
AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
mgr->SetCommonFileName("QAresults.root");
// Statistics task
- mgr->AddStatisticsTask(AliVEvent::kMB);
+ mgr->AddStatisticsTask(kTriggerMask);
//
// CDB connection
//
//
if (doVertex) {
gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskVertexESD.C");
- AliAnalysisTaskVertexESD* taskvertexesd = AddTaskVertexESD();
- taskvertexesd->SelectCollisionCandidates();
+ AliAnalysisTaskVertexESD* taskvertexesd = AddTaskVertexESD(kFALSE, kTriggerMask);
+ taskvertexesd->SelectCollisionCandidates(kTriggerMask);
}
// TPC QA (E. Sicking)
//
if (doQAsym) {
+ // offline trigger in AddTask
gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskQAsym.C");
- AliAnalysisTaskSE * taskqasim = AddTaskQAsym(0);
- taskqasim->SelectCollisionCandidates();
+ AliAnalysisTaskSE * taskqasim = AddTaskQAsym(0, kTriggerMask, kTriggerHM, kTriggerEMC, kTriggerMuonBarell);
+ // taskqasim->SelectCollisionCandidates(); // Set by AddTask
}
//
// VZERO QA (C. Cheshkov)
if (doTPC) {
gROOT->LoadMacro("$ALICE_ROOT/PWG1/TPC/macros/AddTaskPerformanceTPCdEdxQA.C");
AliPerformanceTask *tpcQA = AddTaskPerformanceTPCdEdxQA(kFALSE, kTRUE, kFALSE);
- tpcQA->SelectCollisionCandidates();
+ tpcQA->SelectCollisionCandidates(kTriggerMask);
}
//
// SPD (A. Mastroserio)
if (doSPD) {
gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskSPDQA.C");
AliAnalysisTaskSE* taskspdqa = AddTaskSPDQA();
- taskspdqa->SelectCollisionCandidates();
+ taskspdqa->SelectCollisionCandidates(kTriggerMask);
}
//
// SDD (F. Prino)
if (doSDD) {
gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddSDDPoints.C");
AliAnalysisTaskSE* tasksdd = AddSDDPoints();
- tasksdd->SelectCollisionCandidates();
+ tasksdd->SelectCollisionCandidates(kTriggerMask);
}
//
// SSD dEdx (Marek Chojnacki)
if (doSSDdEdx) {
gROOT->LoadMacro("$ALICE_ROOT/PWG1/PilotTrain/AddTaskdEdxSSDQA.C");
AliAnalysisTaskSE* taskssddedx = AddTaskdEdxSSDQA();
- taskssddedx->SelectCollisionCandidates();
+ taskssddedx->SelectCollisionCandidates(kTriggerMask);
}
//
// ITS
//
if (doITS) {
+ // hardcoded non-zero trigger mask
gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskPerformanceITS.C");
AliAnalysisTaskITSTrackingCheck *itsQA = 0;
AliAnalysisTaskITSTrackingCheck *itsQACent0010 = 0;
// ITS saTracks, align (F.Prino)
//
if (doITSsaTracks) {
+ // offline trigger in AddTask
gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskITSsaTracks.C");
AliAnalysisTaskITSsaTracks *itssaTracks = AddTaskITSsaTracks(kFALSE,kFALSE);
+ itssaTracks->SelectCollisionCandidates(kTriggerMask);
}
if (doITSalign) {
+ // no offline trigger selection
gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskITSAlign.C");
AliAnalysisTaskITSAlignQA *itsAlign = AddTaskITSAlign(0,2011);
}
// TRD (Alex Bercuci, M. Fasel)
//
if(doTRD) {
+ // no offline trigger selection
gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTrainPerformanceTRD.C");
// steer individual TRD tasks
Bool_t
// ZDC (Chiara Oppedisano)
//
if(doZDC) {
+ // hardcoded kMB trigger mask
gROOT->LoadMacro("$ALICE_ROOT/PWG1/ZDC/AddTaskZDCQA.C");
AliAnalysisTaskSE *taskZDC = AddTaskZDCQA();
+ taskZDC->SelectCollisionCandidates(kTriggerMask);
}
//
// Calorimetry (Gustavo Conesa)
gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/QA/AddTaskCalorimeterQA.C");
AliAnalysisTaskParticleCorrelation *taskCaloQA = AddTaskCalorimeterQA("ESD", 2011, kFALSE, kFALSE);
taskCaloQA->SetDebugLevel(0);
+ // offline mask set in AddTask to kMB
+ taskCaloQA->SelectCollisionCandidates(kTriggerMask);
+ // Add a new calo task with EMC1 trigger only
+ taskCaloQA = AddTaskCalorimeterQA("ESD", 2011, kFALSE, kFALSE, "", "EMC7");
+ taskCaloQA->SetDebugLevel(0);
+ taskCaloQA->SelectCollisionCandidates(kTriggerEMC);
}
//
//
if(doMUONTrig) {
+ // no offline trigger selection
gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskMTRchamberEfficiency.C");
AliAnalysisTaskTrigChEff *taskMuonTrig = AddTaskMTRchamberEfficiency();
}
//
- // Muon Efficiency
+ // Muon Efficiency (not used)
//
if(doMUONEff) {
}
//
- // V0-Decay Reconstruction (Ana Marin)
+ // V0-Decay Reconstruction (Ana Marin) (not used)
//
if (doV0) {
} else {
taskimpparres= AddTaskImpParRes(kFALSE,-1,kFALSE,kFALSE);
}
- taskimpparres->SelectCollisionCandidates();
+ taskimpparres->SelectCollisionCandidates(kTriggerMask);
}
//
// MUON QA (Philippe Pillot)
//
if (doMUON) {
+ // trigger analysis internal
gROOT->LoadMacro("$ALICE_ROOT/PWG3/muon/AddTaskMuonQA.C");
AliAnalysisTaskSE* taskmuonqa= AddTaskMuonQA();
}
if (doTOF) {
gROOT->LoadMacro("$ALICE_ROOT/PWG1/TOF/AddTaskTOFQA.C");
AliAnalysisTaskTOFqa *tofQA = AddTaskTOFQA();
- tofQA->SelectCollisionCandidates();
+ tofQA->SelectCollisionCandidates(kTriggerMask);
+ }
+ //
+ // PIDResponse(JENS)
+ //
+ if (doPIDqa) {
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
+ AliAnalysisTaskPIDResponse *PIDResponse = AddTaskPIDResponse();
+ PIDResponse->SelectCollisionCandidates(kTriggerMask);
}
+
+ //
+ // PIDqa(JENS)
+ //
+ if (doPIDqa) {
+ gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
+ AliAnalysisTaskPIDqa *PIDQA = AddTaskPIDqa();
+ PIDQA->SelectCollisionCandidates(kTriggerMask);
+ }
+
//
// HMPID QA (Giacomo Volpe)
//
if (doHMPID) {
gROOT->LoadMacro("$ALICE_ROOT/PWG1/HMPID/AddTaskHmpidQA.C");
AliAnalysisTaskSE* taskhmpidqa= AddTaskHmpidQA(kFALSE);
+ // offline mask set in AddTask to kMB
+ taskhmpidqa->SelectCollisionCandidates(kTriggerMask);
}
- // T0 QA (Alla Mayevskaya
+ // T0 QA (Alla Mayevskaya)
if (doT0) {
+ // no offline trigger selection
gROOT->LoadMacro("$ALICE_ROOT/PWG1/T0/AddTaskT0QA.C");
- AliT0AnalysisTaskQA* tast0qa= AddTaskT0QA();
+ AliT0AnalysisTaskQA* taskt0qa= AddTaskT0QA();
+ taskt0qa->SelectCollisionCandidates(kTriggerMask);
}
+ // FMD QA (Christian Holm Christiansen)
+ if (doFMD) {
+ gROOT->LoadMacro("$ALICE_ROOT/PWG2/FORWARD/analysis2/AddTaskForwardQA.C");
+ // Parameters: usemc, usecentrality
+ AliAnalysisTaskSE *forwardQA = (AliAnalysisTaskSE *)AddTaskForwardQA(kFALSE, kFALSE);
+ // No offline trigger config. needed (see #84077)
+ }
}
//______________________________________________________________________________
// Check if user has a valid token, otherwise make one. This has limitations.
// One can always follow the standard procedure of calling alien-token-init then
// source /tmp/gclient_env_$UID in the current shell.
- if (!AliAnalysisGrid::CreateToken()) return NULL;
AliAnalysisAlien *plugin = new AliAnalysisAlien();
// Set the run mode (can be "full", "test", "offline", "submit" or "terminate")
plugin->SetRunMode(plugin_mode);
plugin->AddDataFile(data_collection);
}
plugin->SetJobTag(job_tag);
- plugin->SetNtestFiles(1);
+ plugin->SetNtestFiles(2);
plugin->SetCheckCopy(kFALSE);
plugin->SetMergeDirName(mergeDirName);
// Set versions of used packages
plugin->SetAdditionalLibs("libCORRFW.so libTENDER.so libPWG0base.so libPWG0dep.so libPWG0selectors.so libPWG1.so \
libEMCALUtils.so libPHOSUtils.so libPWG4PartCorrBase.so libPWG4PartCorrDep.so \
- libPWG3base.so libPWG3muon.so libPWG3muondep.so");
+ libPWG3base.so libPWG3muon.so libPWG3muondep.so libPWG2forward2.so");
// Declare the output file names separated by blancs.
plugin->SetDefaultOutputs();