+++ /dev/null
-\r
-AliAnalysisTaskFragFuncBB *AddTaskFragFuncBB(UInt_t filterMask=16, Int_t iPhysicsSelection=1){\r
- AddTaskFragFuncBB("jets", "", filterMask, iPhysicsSelection);\r
-}\r
-\r
-AliAnalysisTaskFragFuncBB *AddTaskFragFuncBB(UInt_t filterMask=16, Bool_t kUseAODMC=kFALSE, Int_t iPhysicsSelection=1, UInt_t iFlag){\r
- AliAnalysisTaskFragFuncBB *ff=0;\r
- if(kUseAODMC){\r
- if(iFlag&(1<<0)) ff = AddTaskFragFuncBB("jets", "jetsAODMC2b_UA104", filterMask, iPhysicsSelection);\r
- if(iFlag&(1<<1)) ff = AddTaskFragFuncBB("jetsAOD_UA107", "jetsAODMC2b_UA107", filterMask, iPhysicsSelection);\r
- }\r
- if(iFlag&(1<<2)) ff = AddTaskFragFuncBB("jets", "", filterMask, iPhysicsSelection);\r
- \r
- return ff;\r
-}\r
-\r
-// _______________________________________________________________________________________\r
-\r
-AliAnalysisTaskFragFuncBB *AddTaskFragFuncBB(\r
- const char* bRecJets,\r
- const char* bGenJets,\r
- UInt_t filterMask,\r
- Int_t iPhysicsSelection)\r
-{\r
- // Creates a fragmentation function task,\r
- // configures it and adds it to the analysis manager.\r
- \r
- // Get the pointer to the existing analysis manager via the static access method.\r
- //==============================================================================\r
- AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();\r
- if (!mgr) {\r
- ::Error("AddTaskFragFuncBB", "No analysis manager to connect to.");\r
- return NULL;\r
- }\r
- \r
- // Check the analysis type using the event handlers connected to the analysis manager.\r
- //==============================================================================\r
- if (!mgr->GetInputEventHandler()) {\r
- ::Error("AddTaskFragFunc", "This task requires an input event handler");\r
- return NULL;\r
- }\r
-\r
- TString type = mgr->GetInputEventHandler()->GetDataType(); // can be "ESD" or "AOD"\r
- TString typeRec(bRecJets);\r
- TString typeGen(bGenJets);\r
- typeRec.ToUpper();\r
- typeGen.ToUpper();\r
- \r
- // Create the task and configure it.\r
- //===========================================================================\r
-\r
- AliAnalysisTaskFragFuncBB *fragfunc = new AliAnalysisTaskFragFuncBB(Form("Fragmenation Function %s %s", bRecJets, bGenJets));\r
- \r
- // pwg4fragfunc->SetAnalysisType(AliAnalysisTaskFragFunc::kAnaMC);\r
- // if(iAODanalysis) pwg4fragfunc->SetAODInput(kTRUE);\r
- // pwg4fragfunc->SetDebugLevel(11);\r
- \r
- Printf("Rec Jets %s", bRecJets);\r
- Printf("Gen Jets %s", bGenJets);\r
- \r
- fragfunc->SetBranchGenJets(bGenJets);\r
- fragfunc->SetBranchRecJets(bRecJets);\r
- \r
- fragfunc->SetFilterMask(filterMask);\r
- //fragfunc->SetUseGlobalSelection(kTRUE);\r
- \r
- if(type == "AOD"){\r
- // Assume all jets are produced already\r
- fragfunc->SetAODJetInput(kTRUE);\r
- fragfunc->SetAODTrackInput(kTRUE);\r
- fragfunc->SetAODMCInput(kTRUE);\r
- }\r
- \r
- if(typeRec.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD\r
- fragfunc->SetTrackTypeRec(AliAnalysisTaskFragFunc::kTrackAODMCChargedAcceptance);\r
- }\r
- else if (typeRec.Contains("AODMC2")){\r
- fragfunc->SetTrackTypeRec(AliAnalysisTaskFragFunc::kTrackAODMCCharged);\r
- }\r
- else if (typeRec.Contains("AODMC")){\r
- fragfunc->SetTrackTypeRec(AliAnalysisTaskFragFunc::kTrackAODMCAll);\r
- }\r
- else { // catch akk use AOD\r
- fragfunc->SetTrackTypeRec(AliAnalysisTaskFragFunc::kTrackAOD);\r
- }\r
-\r
- if(typeGen.Contains("AODMC2b")){// work down from the top AODMC2b -> AODMC2 -> AODMC -> AOD\r
- fragfunc->SetTrackTypeGen(AliAnalysisTaskFragFunc::kTrackAODMCChargedAcceptance);\r
- }\r
- else if (typeGen.Contains("AODMC2")){\r
- fragfunc->SetTrackTypeGen(AliAnalysisTaskFragFunc::kTrackAODMCCharged);\r
- }\r
- else if (typeGen.Contains("AODMC")){\r
- fragfunc->SetTrackTypeGen(AliAnalysisTaskFragFunc::kTrackAODMCAll);\r
- }\r
- else if (typeGen.Length()>0){ // catch all use AOD\r
- fragfunc->SetTrackTypeGen(AliAnalysisTaskFragFunc::kTrackAOD);\r
- }\r
- else { //\r
- fragfunc->SetTrackTypeGen(AliAnalysisTaskFragFunc::kTrackKineCharged);\r
- }\r
-\r
- //if(iPhysicsSelection)fragfunc->SelectCollisionCandidates();\r
-\r
- mgr->AddTask(fragfunc);\r
-\r
- // Create ONLY the output containers for the data produced by the task.\r
- // Get and connect other common input/output containers via the manager as below\r
- //==============================================================================\r
- AliAnalysisDataContainer *coutput1_FragFunc = mgr->CreateContainer(Form("fracfuncBB_%s_%s",bRecJets,bGenJets), TList::Class(),AliAnalysisManager::kOutputContainer,Form("%s:PWG4_fragfuncBB_%s_%s",AliAnalysisManager::GetCommonFileName(),bRecJets,bGenJets));\r
-\r
- mgr->ConnectInput (fragfunc, 0, mgr->GetCommonInputContainer());\r
- mgr->ConnectOutput (fragfunc, 0, mgr->GetCommonOutputContainer());\r
- mgr->ConnectOutput (fragfunc, 1, coutput1_FragFunc);\r
- \r
- return fragfunc;\r
-}
\ No newline at end of file
+++ /dev/null
-AliAnalysisTaskJetResponse* AddTaskJetResponse(Char_t* type = "clusters", Char_t* jf = "FASTKT", Float_t radius = 0.4, UInt_t filterMask = 256 , Float_t ptTrackMin = 0.15, Int_t iBack = 1, Int_t eventClassMin = 1, Int_t eventClassMax = 4, Int_t reactionPlaneBin = -1){
-
- Printf("adding task jet response\n");
-
- AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
- if(!mgr){
- ::Error("AddTaskJetResponse", "No analysis manager to connect to.");
- return NULL;
- }
- if(!mgr->GetInputEventHandler()){
- ::Error("AddTaskJetResponse", "This task requires an input event handler.");
- return NULL;
- }
-
- TString suffix = "";
- suffix += Form("_%s", jf);
- suffix += Form("%02d", (int)((radius+0.01)*10.));
- suffix += Form("_B0"); // no background subtraction for extra-only
- suffix += Form("_Filter%05d", filterMask);
- suffix += Form("_Cut%05d", (int)((1000.*ptTrackMin)));
- if(type=="clusters") suffix += Form("_Skip00");
-
- TString suffix2 = "";
- suffix2 += Form("_%s", jf);
- suffix2 += Form("%02d", (int)((radius+0.01)*10.));
- suffix2 += Form("_B%d", iBack);
- suffix2 += Form("_Filter%05d", filterMask);
- suffix2 += Form("_Cut%05d", (int)((1000.*ptTrackMin)));
- if(type=="clusters") suffix2 += Form("_Skip00");
-
- AliAnalysisTaskJetResponse *task = new AliAnalysisTaskJetResponse(Form("JetResponse%s", suffix2.Data()));
-
- TString branch1 = Form("%sAODextraonly%s",type, suffix.Data());
- Printf("Branch1: %s",branch1.Data());
-
- TString branch2 = Form("%sAODextra%s",type, suffix2.Data());
- Printf("Branch2: %s",branch2.Data());
-
- task->SetBranchNames(branch1,branch2);
- task->SetOfflineTrgMask(AliVEvent::kMB);
-
- task->SetEvtClassMin(eventClassMin);
- task->SetEvtClassMax(eventClassMax);
- task->SetCentMin(0.);
- task->SetCentMax(100.);
- //task->SetJetDeltaEta(0.2);
- //task->SetJetDeltaPhi(0.2);
-
- task->SetReactionPlaneBin(reactionPlaneBin);
-
- task->SetJetPtMin(0.); // min jet pt is implicit a cut on delta pT!!
- //task->SetJetEtaMin(-.4); // reduced tracking acceptance in
- //task->SetJetEtaMax(.4); // LHC10h pass1
-
- //task->SetNMatchJets(1); // leading jets only
- task->SetEventClassMode(1); //0: centrality (default), 1: multiplicity
-
-
- mgr->AddTask(task);
-
-
- if(reactionPlaneBin>=0){
- suffix2 += Form("_rp%d", reactionPlaneBin);
- }
-
- AliAnalysisDataContainer *coutputJetResponse = mgr->CreateContainer(
- Form("jetresponse_%s%s", type,suffix2.Data()), TList::Class(), AliAnalysisManager::kOutputContainer,
- Form("%s:PWG4_JetResponse_%s%s", AliAnalysisManager::GetCommonFileName(), type, suffix2.Data()));
-
- mgr->ConnectInput (task, 0, mgr->GetCommonInputContainer());
- mgr->ConnectOutput(task, 0, mgr->GetCommonOutputContainer());
- mgr->ConnectOutput(task, 1, coutputJetResponse);
-
- return task;
-}
+++ /dev/null
-void runESDQA()
-{
- gSystem->Load("libTree.so");
- gSystem->Load("libGeom.so");
- gSystem->Load("libVMC.so");
- gSystem->Load("libXMLIO.so");
-
- gSystem->Load("libSTEERBase.so");
- gSystem->Load("libESD.so");
- gSystem->Load("libAOD.so");
- gSystem->Load("libANALYSIS.so");
- gSystem->Load("libANALYSISalice.so");
- gSystem->Load("libJETAN.so");
- gSystem->Load("libPWG4JetTasks.so");
-#if 0
- SetupPar("STEERBase");
- SetupPar("ESD");
- SetupPar("AOD");
- SetupPar("ANALYSIS");
- SetupPar("ANALYSISalice");
-#endif
-
- TGrid::Connect("alien://");
- AliTagAnalysis *analysis = new AliTagAnalysis();
- //TChain *chain = analysis->GetChainFromCollection("pythia_10tev_10files.xml","esdTree");
- TChain *chain = analysis->GetChainFromCollection("pythia_10tev_ph2_10files.xml","esdTree");
-
- // Make the analysis manager
-
- //
- // Chain from CAF
-
- AliESDInputHandler *esdHandler = new AliESDInputHandler();
- esdHandler->SetInactiveBranches("FMD CaloCluster");
-
- AliAnalysisManager *mgr = new AliAnalysisManager("esd to aod to histos", "testing aod analysis");
- mgr->SetInputEventHandler(esdHandler);
-
- mgr->SetDebugLevel(10);
- AliLog::EnableDebug(kTRUE);
- AliLog::SetGlobalLogLevel(2);
-
-
- // Set of cuts
- //
- // standard
- /*
- AliESDtrackCuts* esdTrackCutsL = new AliESDtrackCuts("AliESDtrackCuts", "Loose");
- esdTrackCutsL->SetMinNClustersTPC(50);
- esdTrackCutsL->SetMaxChi2PerClusterTPC(3.5);
- esdTrackCutsL->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
- esdTrackCutsL->SetRequireTPCRefit(kTRUE);
- esdTrackCutsL->SetMinNsigmaToVertex(3);
- esdTrackCutsL->SetRequireSigmaToVertex(kTRUE);
- esdTrackCutsL->SetAcceptKingDaughters(kFALSE);
- //
- // hard
- AliESDtrackCuts* esdTrackCutsH = new AliESDtrackCuts("AliESDtrackCuts", "Hard");
- esdTrackCutsH->SetMinNClustersTPC(100);
- esdTrackCutsH->SetMaxChi2PerClusterTPC(2.0);
- esdTrackCutsH->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
- esdTrackCutsH->SetRequireTPCRefit(kTRUE);
- esdTrackCutsH->SetMinNsigmaToVertex(2);
- esdTrackCutsH->SetRequireSigmaToVertex(kTRUE);
- esdTrackCutsH->SetAcceptKingDaughters(kFALSE);
- //
- AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
- trackFilter->AddCuts(esdTrackCutsL);
- trackFilter->AddCuts(esdTrackCutsH);
- //
- AliAnalysisTaskESDfilter *esdfilter = new AliAnalysisTaskESDfilter("ESD Filter");
- esdfilter->SetTrackFilter(trackFilter);
- esdfilter->SetDebugLevel(10);
- mgr->AddTask(esdfilter);
-*/
-
-
- // Take it from the library no need to compile directly
- // Standalone does not need ANALYISalice/AOD/JETAN/PWG4JetsTasks
- // gProof->Load("AliAnaESDSpectraQA.cxx++g");
-
-
- AliAnaESDSpectraQA *pwg4QA = new AliAnaESDSpectraQA("AliAnaSpectraQA");
- mgr->AddTask(pwg4QA);
-
- // Create containers for input/output
- // Top ESD container
- AliAnalysisDataContainer *cin_esd = mgr->GetCommonInputContainer();
-
- // Histos
- //AliAnalysisDataContainer *cout_hist = mgr->CreateContainer("qa_hists", TObjArray::Class(),
- AliAnalysisDataContainer *cout_hist = mgr->CreateContainer("qa_hists", TList::Class(),
- AliAnalysisManager::kOutputContainer, "PWG4QAHists.root");
-
- mgr->ConnectInput (pwg4QA, 0, cin_esd );
- mgr->ConnectOutput (pwg4QA, 0, cout_hist );
- //
- // Run the analysis
- //
- mgr->InitAnalysis();
- mgr->PrintStatus();
- mgr->StartAnalysis("local",chain);
- delete mgr;
-}
-
-void SetupPar(char* pararchivename)
-{
- if (pararchivename) {
- char processline[1024];
- sprintf(processline,".! tar xvzf %s.par",pararchivename);
- gROOT->ProcessLine(processline);
- TString ocwd = gSystem->WorkingDirectory();
- gSystem->ChangeDirectory(pararchivename);
-
- // check for BUILD.sh and execute
- if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
- printf("*******************************\n");
- printf("*** Building PAR archive ***\n");
- printf("*******************************\n");
-
- if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
- Error("runProcess","Cannot Build the PAR Archive! - Abort!");
- return -1;
- }
- }
- // check for SETUP.C and execute
- if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
- printf("*******************************\n");
- printf("*** Setup PAR archive ***\n");
- printf("*******************************\n");
- gROOT->Macro("PROOF-INF/SETUP.C");
- }
-
- gSystem->ChangeDirectory(ocwd.Data());
- printf("Current dir: %s\n", ocwd.Data());
- }
-}
+++ /dev/null
-void runESDQA_CAF(Char_t *dataset = "/PWG0/COMMON/LHC08c11_10TeV_0.5T", Int_t max_evt=200000)
-{
- TProof::Open("lxb6046");
-
- /*
- gProof->UploadPackage("AF-v4-14.par");
- gProof->EnablePackage("AF-v4-14");
- */
- // gProof->ClearPackages();
- gProof->UploadPackage("${ALICE_ROOT}/STEERBase.par");
- gProof->EnablePackage("STEERBase");
- gProof->UploadPackage("${ALICE_ROOT}/ESD.par");
- gProof->EnablePackage("ESD");
- gProof->UploadPackage("${ALICE_ROOT}/AOD.par");
- gProof->EnablePackage("AOD");
- gProof->UploadPackage("${ALICE_ROOT}/ANALYSIS.par");
- gProof->EnablePackage("ANALYSIS");
- gProof->UploadPackage("${ALICE_ROOT}/ANALYSISalice.par");
- gProof->EnablePackage("ANALYSISalice");
- gProof->UploadPackage("${ALICE_ROOT}/JETAN.par");
- gProof->EnablePackage("JETAN");
-
- gProof->UploadPackage("${ALICE_ROOT}/PWG4JetTasks.par");
- gProof->EnablePackage("PWG4JetTasks");
-
- // Make the analysis manager
-
- //
- // Chain from CAF
-
-
- AliAnalysisManager *mgr = new AliAnalysisManager("ESDAODHists");
-
- mgr->SetDebugLevel(2);
- //AliLog::EnableDebug(kTRUE);
- //AliLog::SetGlobalLogLevel(2);
-
-
- // Set of cuts
- //
- // standard
-/*
- AliESDtrackCuts* esdTrackCutsL = new AliESDtrackCuts("AliESDtrackCuts", "Loose");
- esdTrackCutsL->SetMinNClustersTPC(50);
- esdTrackCutsL->SetMaxChi2PerClusterTPC(3.5);
- esdTrackCutsL->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
- esdTrackCutsL->SetRequireTPCRefit(kTRUE);
- esdTrackCutsL->SetMinNsigmaToVertex(3);
- esdTrackCutsL->SetRequireSigmaToVertex(kTRUE);
- esdTrackCutsL->SetAcceptKingDaughters(kFALSE);
- //
- // hard
- AliESDtrackCuts* esdTrackCutsH = new AliESDtrackCuts("AliESDtrackCuts", "Hard");
- esdTrackCutsH->SetMinNClustersTPC(100);
- esdTrackCutsH->SetMaxChi2PerClusterTPC(2.0);
- esdTrackCutsH->SetMaxCovDiagonalElements(2,2,0.5,0.5,2);
- esdTrackCutsH->SetRequireTPCRefit(kTRUE);
- esdTrackCutsH->SetMinNsigmaToVertex(2);
- esdTrackCutsH->SetRequireSigmaToVertex(kTRUE);
- esdTrackCutsH->SetAcceptKingDaughters(kFALSE);
- //
- AliAnalysisFilter* trackFilter = new AliAnalysisFilter("trackFilter");
- trackFilter->AddCuts(esdTrackCutsL);
- trackFilter->AddCuts(esdTrackCutsH);
- //
-*/
-
- // Take it from the library no need to compile directly
- // Standalone does not need ANALYISalice/AOD/JETAN/PWG4JetsTasks
- // gProof->Load("AliAnaESDSpectraQA.cxx++g");
-
- AliAnaESDSpectraQA *pwg4QA = new AliAnaESDSpectraQA("ESDSpectraQA");
- mgr->AddTask(pwg4QA);
-
- AliESDInputHandler *esdHandler = new AliESDInputHandler;
- //esdHandler->SetInactiveBranches("FMD CaloCluster");
- mgr->SetInputEventHandler(esdHandler);
-
- AliMCEventHandler* mcH = new AliMCEventHandler;
- mgr->SetMCtruthEventHandler(mcH);
-
-
- // Create containers for input/output
- // Top ESD container
- AliAnalysisDataContainer *cin_esd = mgr->GetCommonInputContainer();
-
- //AliAnalysisDataContainer *cout_aodex = mgr->CreateContainer("cAodEx", TTree::Class(),
-// AliAnalysisManager::kExchangeContainer, "default");
-
- // Histos
- AliAnalysisDataContainer *cout_hist = mgr->CreateContainer("qa_hists", TList::Class(),
- //AliAnalysisDataContainer *cout_hist = mgr->CreateContainer("qa_hists", TObjArray::Class(),
- AliAnalysisManager::kOutputContainer, "PWG4QAHists.root");
-
- mgr->ConnectInput (pwg4QA, 0, cin_esd );
- mgr->ConnectOutput (pwg4QA, 0, cout_hist );
- //
- // Run the analysis
- //
- mgr->InitAnalysis();
- mgr->PrintStatus();
- //mgr->StartAnalysis("local",chain);
- mgr->StartAnalysis("proof", dataset, max_evt);
- //delete mgr;
-}