From: mfloris Date: Thu, 17 Mar 2011 14:39:57 +0000 (+0000) Subject: Some changes for the candle X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=91ea438c70b76b9c9babb2e49f00420152a0fa6e;p=u%2Fmrichter%2FAliRoot.git Some changes for the candle --- diff --git a/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx b/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx index 22ec4c7900c..3c4690f09ac 100644 --- a/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx +++ b/PWG0/multPbPb/AliAnalysisTaskTriggerStudy.cxx @@ -26,13 +26,15 @@ #include "AliESDVZERO.h" #include "TH2F.h" #include "AliESDUtils.h" +#include "AliGenPythiaEventHeader.h" +#include "AliGenDPMjetEventHeader.h" using namespace std; ClassImp(AliAnalysisTaskTriggerStudy) //const char * AliAnalysisTaskTriggerStudy::kVDNames[] = {"C0SM1","C0SM2","C0VBA","C0VBC","C0OM2"}; -const char * AliAnalysisTaskTriggerStudy::kVDNames[] = {"V0AND","V0OR","NTRACKS"};//,"C0OM2"}; +const char * AliAnalysisTaskTriggerStudy::kVDNames[] = {"V0AND","V0OR","NTRACKS", "NTRACKS ESD"};//,"C0OM2"}; AliAnalysisTaskTriggerStudy::AliAnalysisTaskTriggerStudy() : AliAnalysisTaskSE("TaskTriggerStudy"), @@ -140,17 +142,94 @@ void AliAnalysisTaskTriggerStudy::UserExec(Option_t *) Bool_t v0BG = v0ABG || v0CBG; // At least one track in eta < 0.8 with pt > 0.5 + // MC Checks + Bool_t atLeast1Track = kFALSE; + Bool_t isSD = kFALSE; + Bool_t isND = kFALSE; + + if(fIsMC) { + if (!fMCEvent) { + AliError("No MC info found"); + } else { + Int_t nMCTracks = fMCEvent->GetNumberOfTracks(); + Int_t nPhysicalPrimaries = 0; + for (Int_t ipart=0; ipartGetTrack(ipart); + // We don't care about neutrals and non-physical primaries + if(mcPart->Charge() == 0) continue; + + //check if current particle is a physical primary + if(!fMCEvent->IsPhysicalPrimary(ipart)) continue; + if(mcPart->Pt()<0.5) continue; + if(TMath::Abs(mcPart->Eta())>0.8) continue; + atLeast1Track = kTRUE; + break; + } + + AliGenPythiaEventHeader * headPy = 0; + AliGenDPMjetEventHeader * headPho = 0; + AliGenEventHeader * htmp = fMCEvent->GenEventHeader(); + if(!htmp) { + AliFatal("Cannot Get MC Header!!"); + return; + } + if( TString(htmp->IsA()->GetName()) == "AliGenPythiaEventHeader") { + headPy = (AliGenPythiaEventHeader*) htmp; + } else if (TString(htmp->IsA()->GetName()) == "AliGenDPMjetEventHeader") { + headPho = (AliGenDPMjetEventHeader*) htmp; + } else { + AliFatal("Unknown header"); + } + if(headPy) { + // cout << "Process: " << headPy->ProcessType() << endl; + if(headPy->ProcessType() == 92 || headPy->ProcessType() == 93) { + isSD = kTRUE; // is single difractive + } + if(headPy->ProcessType() != 92 && headPy->ProcessType() != 93 && headPy->ProcessType() != 94) { + isND = kTRUE; // is non-diffractive + } + + } else if (headPho) { + if(headPho->ProcessType() == 5 || headPho->ProcessType() == 6 ) { + isSD = kTRUE; + } + if(headPho->ProcessType() != 5 && headPho->ProcessType() != 6 && headPho->ProcessType() != 7 ) { + isND = kTRUE; + } + } + + } + } + static AliESDtrackCuts * cuts = AliESDtrackCuts::GetStandardITSTPCTrackCuts2010(); - cuts->SetPtRange(0.5,10000); - cuts->SetEtaRange(-0.8, 0.8); - Bool_t atLeast1Track = cuts->CountAcceptedTracks(fESD) > 0; + // cuts->SetPtRange(0.5,10000); + // cuts->SetEtaRange(-0.8, 0.8); + Int_t ntracksLoop = fESD->GetNumberOfTracks(); + + Bool_t atLeast1TrackESD = kFALSE; + for (Int_t iTrack = 0; iTrack(fESD->GetTrack(iTrack)); + // for each track + + // track quality cuts + if(!cuts->AcceptTrack(track)) continue; + if(track->Pt()<0.5) continue; + if(TMath::Abs(track->Eta())>0.8) continue; + + atLeast1TrackESD = kTRUE; + break; + } + + Bool_t vdArray[kNVDEntries]; vdArray[kVDV0AND] = c0v0A && c0v0C; vdArray[kVDV0OR] = c0v0A || c0v0C; vdArray[kVDNTRACKS] = atLeast1Track; + // vdArray[kVDNTRACKSESD] = atLeast1TrackESD; FillTriggerOverlaps("All", "All Events",vdArray); + if(!isSD) FillTriggerOverlaps("NSD", "NSD Events",vdArray); // Physics selection diff --git a/PWG0/multPbPb/run.C b/PWG0/multPbPb/run.C index 9a55807dfc5..44213a4c01a 100644 --- a/PWG0/multPbPb/run.C +++ b/PWG0/multPbPb/run.C @@ -288,9 +288,9 @@ void InitAndLoadLibs(Int_t runMode=kMyRunModeLocal, Int_t workers=0,Bool_t debug { cout << "Init in CAF mode" << endl; - gEnv->SetValue("XSec.GSI.DelegProxy", "2"); - TProof * p = TProof::Open("alice-caf.cern.ch", workers>0 ? Form("workers=%d",workers) : ""); - //TProof * p = TProof::Open("skaf.saske.sk", workers>0 ? Form("workers=%d",workers) : ""); + //gEnv->SetValue("XSec.GSI.DelegProxy", "2"); + // TProof * p = TProof::Open("alice-caf.cern.ch", workers>0 ? Form("workers=%d",workers) : ""); + TProof * p = TProof::Open("skaf.saske.sk", workers>0 ? Form("workers=%d",workers) : ""); p->Exec("TObject *o = gEnv->GetTable()->FindObject(\"Proof.UseMergers\"); gEnv->GetTable()->Remove(o);", kTRUE); // gProof->EnablePackage("VO_ALICE@AliRoot::v4-21-17b-AN");