]>
Commit | Line | Data |
---|---|---|
6392490d | 1 | |
2 | //--------------------------------------------------- | |
3 | // Macro to do analysis with AliJCORRANTask | |
4 | // Can be executed with Root and AliRoot | |
5 | // | |
6 | // ALICE Jyvaskyla group | |
7 | // | |
7b3462ad | 8 | // last change 20th Jun 2010 FK |
6392490d | 9 | //------------------------------------------------- |
10 | ||
11 | ||
12 | const TString kInputData = "ESD"; | |
13 | const TString kJCORRANInputFormat = "ESD"; // ESD, AODout, AODin | |
7b3462ad | 14 | const Bool_t kMC = kFALSE; //With real data kMC = kFALSE, MC data kMC =kTRUE |
6392490d | 15 | |
7b3462ad | 16 | AliJCORRANTask* AddTaskJCORRAN(const char* aodName="jcorran.root", const char* addPhysSelection="$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C") |
6392490d | 17 | { |
18 | //-------------------------------------- | |
19 | // Make the analysis manager | |
20 | //------------------------------------- | |
21 | AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager(); | |
22 | if(!mgr){ | |
23 | ::Error("AddTaskJCORRAN", "No analysis manager to connect to."); | |
24 | return NULL; | |
25 | } | |
26 | ||
7b3462ad | 27 | if(!mgr->GetInputEventHandler()){ |
6392490d | 28 | ::Error("AddTaskJets", "This task requires an input event handler"); |
29 | return NULL; | |
30 | } | |
31 | ||
7b3462ad | 32 | |
33 | //AliAODHandler *aodH = dynamic_cast<AliAODHandler*>(AliAnalysisManager::GetAnalysisManager()->GetOutputEventHandler()); | |
34 | //aodH->SetCreateNonStandardAOD(); | |
6392490d | 35 | |
36 | //------------------------------------------------------------------------- | |
6392490d | 37 | // T R A C K S E L E C T I O N |
38 | ||
7b3462ad | 39 | AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts2009","Standard"); |
40 | ||
41 | /* // Apply loose track cuts | |
6392490d | 42 | AliESDtrackCuts* esdTrackCutsLoose = new AliESDtrackCuts("AliESDtrackCuts", "Loose"); |
43 | esdTrackCutsLoose->SetMinNClustersTPC(60); | |
44 | esdTrackCutsLoose->SetMaxChi2PerClusterTPC(4.0); | |
45 | esdTrackCutsLoose->SetRequireTPCRefit(kTRUE); | |
46 | //esdTrackCutsLoose->SetMaxNsigmaToVertex(3); | |
47 | //esdTrackCutsLoose->SetRequireSigmaToVertex(kTRUE); | |
48 | esdTrackCutsLoose->SetAcceptKinkDaughters(kFALSE); | |
49 | esdTrackCutsLoose->SetMaxDCAToVertexXY(3.5); | |
50 | esdTrackCutsLoose->SetMaxDCAToVertexZ(3.5); | |
7b3462ad | 51 | */ |
6392490d | 52 | |
53 | //--------------------------------------------------------------------------- | |
6392490d | 54 | // E V E N T S E L E C T I O N |
55 | ||
7b3462ad | 56 | Int_t downscaling = 20; //downscaling of normal events |
57 | Double_t lowerCutOnLPmom = 3; //select all events with a particle above momentum | |
58 | Double_t lowerCutOnLeadingCaloClusterE = 1.; //GeV select all events with a calo cluster above the energy | |
59 | Double_t lowerCutOnCaloClusterE = 0.2; // GeV store only calo clusters above this energy | |
60 | ||
61 | if(addPhysSelection){ | |
62 | gROOT->LoadMacro(addPhysSelection); | |
63 | AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(); | |
64 | AliPhysicsSelection* physSele = physSelTask->GetPhysicsSelection(); | |
65 | ||
6392490d | 66 | //tag as MB different trigger than CINT1B |
67 | //physSele->AddCollisionTriggerClass("+CSMBB-ABCE-NOPF-ALL"); // Put here trigger to be selected, default is CINT1B | |
7b3462ad | 68 | } |
69 | //--------------------------------------------------------------------------- | |
70 | // J C O R R A N T A S K | |
6392490d | 71 | |
7b3462ad | 72 | AliJCORRANTask *jctask = new AliJCORRANTask("PWG4JCORRANTask",kJCORRANInputFormat); |
6392490d | 73 | jctask->SetDebugLevel(1); |
7b3462ad | 74 | /*jctask->SetAliESDtrackCuts(esdTrackCutsLoose); */ |
75 | jctask->SetAliESDtrackCuts(esdTrackCuts->GetStandardITSTPCTrackCuts2009()); | |
76 | jctask->SetDownscaling(downscaling); | |
77 | jctask->SetLowerCutOnLPMom(lowerCutOnLPmom); | |
78 | jctask->SetLowerCutOnLeadingCaloClusterE(lowerCutOnLeadingCaloClusterE); | |
79 | jctask->SetLowerCutOnCaloClusterE(lowerCutOnCaloClusterE); | |
80 | jctask->SetRealOrMC(kMC); //flags whether the input are ESDs from real exp or MonteCarlo | |
81 | jctask->SetOutputAODName(aodName); | |
6392490d | 82 | mgr->AddTask(jctask); |
83 | ||
84 | jctask->SelectCollisionCandidates(); //Apply offline trigger selection by AliPhysicsSelectionTask | |
85 | ||
86 | ||
87 | // Create containers for input: | |
7b3462ad | 88 | AliAnalysisDataContainer *cinput0 = mgr->GetCommonInputContainer(); |
6392490d | 89 | |
7b3462ad | 90 | //connect input to JCORRAN task |
91 | mgr->ConnectInput(jctask, 0, cinput0); | |
6392490d | 92 | |
6392490d | 93 | |
7b3462ad | 94 | return jctask; |
6392490d | 95 | } |
96 | ||
97 |