From: mfloris Date: Sat, 6 Nov 2010 14:05:21 +0000 (+0000) Subject: AliAnalysisTaskTriggerStudy: X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=5ec1c2f53c6e597b5797af352891275d52bb2a50;p=u%2Fmrichter%2FAliRoot.git AliAnalysisTaskTriggerStudy: - Implemented zdc trigger - Fixed some labels AliAnalysisMultPbCentralitySelector - Changed name of IsMC method run.C - temporary change to run on real beam-gas data --- diff --git a/PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.h b/PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.h index 1309b4adeae..1da9e3994f2 100644 --- a/PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.h +++ b/PWG0/multPbPb/AliAnalysisMultPbCentralitySelector.h @@ -40,8 +40,8 @@ public: Bool_t IsCentralityBinSelected(AliESDEvent* aEsd, AliESDtrackCuts * trackCuts); - void SetAnalyzeMC(Bool_t flag = kTRUE, Double_t multMin = 0, Double_t multMax=10000) { fIsMC = flag; fMultMin = multMin; fMultMax = multMax; } - void SetMultRange(Double_t multMin = 0, Double_t multMax=10000) { fMultMin = multMin; fMultMax = multMax; } + void SetIsMC(Bool_t flag = kTRUE, Int_t multMin = 0, Int_t multMax=10000) { fIsMC = flag; fMultMin = multMin; fMultMax = multMax; } + void SetMultRange(Int_t multMin = 0, Int_t multMax=10000) { fMultMin = multMin; fMultMax = multMax; } void SetUseMultRange(Bool_t flag = kTRUE) {fUseMultRange = flag;} void SetCentralityEstimator(const char * estimator) { fCentrEstimator = estimator; } void SetCentralityBin(Int_t bin) { fCentrBin = bin; } diff --git a/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx b/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx index 3aa72b977e4..198308256a3 100644 --- a/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx +++ b/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx @@ -27,7 +27,7 @@ using namespace std; ClassImp(AliAnalysisTaskTriggerStudy) -const char * AliAnalysisTaskTriggerStudy::kVDNames[] = {"C0MBS2","C0VBA","C0VBC","C0OM2"}; +const char * AliAnalysisTaskTriggerStudy::kVDNames[] = {"C0SM1","C0SM2","C0VBA","C0VBC","C0OM2"}; AliAnalysisTaskTriggerStudy::AliAnalysisTaskTriggerStudy() : AliAnalysisTaskSE("TaskTriggerStudy"), @@ -129,6 +129,11 @@ void AliAnalysisTaskTriggerStudy::UserExec(Option_t *) Bool_t c0OM2 = h->IsTriggerInputFired("0OM2"); // thr >= 2 (input 19) Bool_t c0OM3 = h->IsTriggerInputFired("0OM3"); // thr >= 3 (input 20) + // ZDC triggers + Bool_t zdcA = fTriggerAnalysis->ZDCTrigger(fESD, AliTriggerAnalysis::kASide) ; + Bool_t zdcC = fTriggerAnalysis->ZDCTrigger(fESD, AliTriggerAnalysis::kCSide) ; + Bool_t zdcBar = fTriggerAnalysis->ZDCTrigger(fESD, AliTriggerAnalysis::kCentralBarrel) ; + // Some macros for the online triggers Bool_t cMBS2A = c0sm2 && c0v0A; Bool_t cMBS2C = c0sm2 && c0v0C; @@ -136,6 +141,7 @@ void AliAnalysisTaskTriggerStudy::UserExec(Option_t *) Bool_t vdArray[kNVDEntries]; + vdArray[kVDC0MBS1] = c0sm1; vdArray[kVDC0MBS2] = c0sm2; vdArray[kVDC0VBA] = c0v0A; vdArray[kVDC0VBC] = c0v0C; @@ -194,7 +200,10 @@ void AliAnalysisTaskTriggerStudy::UserExec(Option_t *) if(c0v0C) GetHistoTracklets("c0v0C" ,"Events were trigger c0v0C fired" )->Fill(ntracklets); if(cMBS2A) GetHistoTracklets("cMBS2A","Events were trigger cMBS2A fired")->Fill(ntracklets); if(cMBS2C) GetHistoTracklets("cMBS2C","Events were trigger cMBS2C fired")->Fill(ntracklets); - if(cMBAC ) GetHistoTracklets("cMBAC ","Events were trigger cMBAC fired")->Fill(ntracklets); + if(cMBAC ) GetHistoTracklets("cMBAC", "Events were trigger cMBAC fired")->Fill(ntracklets); + if(zdcA ) GetHistoTracklets("cZDCA", "Events were trigger cZDCA fired")->Fill(ntracklets); + if(zdcC ) GetHistoTracklets("cZDCC", "Events were trigger cZDCC fired")->Fill(ntracklets); + if(zdcBar) GetHistoTracklets("cZDCBar","Events were trigger cZDCB fired")->Fill(ntracklets); // if() GetHistoTracklets("","Events were trigger fired"); // Fill trigger overlaps diff --git a/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.h b/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.h index 13b786d93d7..19d37f009da 100644 --- a/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.h +++ b/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.h @@ -22,7 +22,7 @@ class AliAnalysisTaskTriggerStudy : public AliAnalysisTaskSE { // offline trigger enum enum {kC0MBS1,kC0MBS2,kC0MBS3,kC0MBS4,kC0MBS5,kC0VBA,kC0VBC,kC0OM2,kCO0M3}; // enum for triggers to be included in the venn-like histogram - enum {kVDC0MBS2,kVDC0VBA,kVDC0VBC,kVDC0OM2,kNVDEntries}; + enum {kVDC0MBS1,kVDC0MBS2,kVDC0VBA,kVDC0VBC,kVDC0OM2,kNVDEntries}; public: diff --git a/PWG0/multPbPb/TriggerStudyResults.C b/PWG0/multPbPb/TriggerStudyResults.C index b2753877c2e..cf805745327 100644 --- a/PWG0/multPbPb/TriggerStudyResults.C +++ b/PWG0/multPbPb/TriggerStudyResults.C @@ -1,4 +1,4 @@ -void TriggerStudyResults(const char * filename = "outTrigger/LHC10g1f_130844/trigger_study.root", TString trigger = "MB") { +void TriggerStudyResults(const char * filename = "outTrigger/collection_136854.xml/trigger_study.root", TString trigger = "C0SM1-A-NOPF-ALL") { TFile * f = new TFile (filename); @@ -6,7 +6,12 @@ void TriggerStudyResults(const char * filename = "outTrigger/LHC10g1f_130844/tri LoadLibs(); // Draw trigger venn diagram - TH1 * hVenn = (TH1*) f->Get("hTrigStat_All"); + // hTrigStat_All_C0OM2-A-NOPF-ALL + TString vennName = "hTrigStat_All"; + if (trigger != "") vennName = vennName+"_"+trigger; + cout << "Venn name: " << vennName.Data() << endl; + + TH1 * hVenn = (TH1*) f->Get(vennName); hVenn->Draw(); Int_t colors[] = {2,3,4,5,6,7,8,9,10,11,12,13,14,15}; TPie * pie = new TPie(hVenn); @@ -26,7 +31,7 @@ void TriggerStudyResults(const char * filename = "outTrigger/LHC10g1f_130844/tri // pie->SetTextSize(0.01); pie->Draw(""); - pie->MakeLegend(0.224832, 0.66958, 0.833893, 0.97028); + pie->MakeLegend(0.224832, 0.66958, 0.833893, 0.97028, trigger.Data()); cout << pie << endl; // Make a table of trigger efficiencies for all histos results diff --git a/PWG0/multPbPb/run.C b/PWG0/multPbPb/run.C index e00a51e877c..d5df2ae7bb3 100644 --- a/PWG0/multPbPb/run.C +++ b/PWG0/multPbPb/run.C @@ -54,7 +54,14 @@ void run(Char_t* data, Long64_t nev = -1, Long64_t offset = 0, Bool_t debug = kF // physics selection gROOT->ProcessLine(".L $ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C"); physicsSelectionTask = AddTaskPhysicsSelection(isMC); - + // FIXME!! + AliPhysicsSelection * physSel = physicsSelectionTask->GetPhysicsSelection(); + physSel->AddCollisionTriggerClass("+CTRUE-B-NOPF-ALL"); + physSel->AddCollisionTriggerClass("+C0SM1-A-NOPF-ALL"); + physSel->AddCollisionTriggerClass("+C0SM1-B-NOPF-ALL"); + physSel->AddCollisionTriggerClass("+C0SM1-C-NOPF-ALL"); + physSel->AddCollisionTriggerClass("+C0SM1-E-NOPF-ALL"); + physSel->SetSkipTriggerClassSelection(kTRUE); // Centrality AliCentralitySelectionTask *taskCentr = new AliCentralitySelectionTask("CentralitySelection"); const char * file1 = "$ALICE_ROOT/ANALYSIS/macros/test_AliCentralityBy1D.root"; @@ -71,7 +78,8 @@ void run(Char_t* data, Long64_t nev = -1, Long64_t offset = 0, Bool_t debug = kF centrSelector->SetCentralityEstimator(centrEstimator); // FIXME!!! centrSelector->SetUseMultRange(); - centrSelector->SetMultRange(10,20); + centrSelector->SetIsMC(isMC,1000,2000); + // centrSelector->SetMultRange(10,20); // Parse option strings TString optionStr(option); @@ -130,7 +138,7 @@ void run(Char_t* data, Long64_t nev = -1, Long64_t offset = 0, Bool_t debug = kF // If running in local mode, create chain of ESD files cout << "RUNNING LOCAL, CHAIN" << endl; TChain * chain = GetAnalysisChain(data); - chain->Print(); + // chain->Print(); mgr->StartAnalysis("local",chain,nev); } else if (runMode == kMyRunModeCAF) { mgr->StartAnalysis("proof",TString(data)+"#esdTree",nev);