From: loizides Date: Wed, 4 Jul 2012 19:43:14 +0000 (+0000) Subject: update from salvatore X-Git-Url: http://git.uio.no/git/?a=commitdiff_plain;h=b3ccdfe2016dea14ce124dc441f95776378cdaa3;p=u%2Fmrichter%2FAliRoot.git update from salvatore --- diff --git a/PWGGA/EMCALJetTasks/AliJetResponseMaker.cxx b/PWGGA/EMCALJetTasks/AliJetResponseMaker.cxx index e2859d36ff8..70747c9ba93 100644 --- a/PWGGA/EMCALJetTasks/AliJetResponseMaker.cxx +++ b/PWGGA/EMCALJetTasks/AliJetResponseMaker.cxx @@ -224,6 +224,96 @@ void AliJetResponseMaker::UserCreateOutputObjects() PostData(1, fOutput); // Post data for ALL output slots > 0 here, to get at least an empty histogram } +//________________________________________________________________________ +void AliJetResponseMaker::ExecOnce() +{ + // Execute once. + + if (!fMCJetsName.IsNull() && !fMCJets) { + fMCJets = dynamic_cast(InputEvent()->FindListObject(fMCJetsName)); + if (!fMCJets) { + AliError(Form("%s: Could not retrieve mc jets %s!", GetName(), fMCJetsName.Data())); + return; + } + else if (!fMCJets->GetClass()->GetBaseClass("AliEmcalJet")) { + AliError(Form("%s: Collection %s does not contain AliEmcalJet objects!", GetName(), fMCJetsName.Data())); + fMCJets = 0; + return; + } + } + + if (!fMCTracksName.IsNull() && !fMCTracks) { + fMCTracks = dynamic_cast(InputEvent()->FindListObject(fMCTracksName)); + if (!fMCTracks) { + AliError(Form("%s: Could not retrieve mc tracks %s!", GetName(), fMCTracksName.Data())); + return; + } + else { + TClass *cl = fMCTracks->GetClass(); + if (!cl->GetBaseClass("AliVParticle") && !cl->GetBaseClass("AliEmcalParticle")) { + AliError(Form("%s: Collection %s does not contain AliVParticle nor AliEmcalParticle objects!", GetName(), fMCTracksName.Data())); + fMCTracks = 0; + return; + } + } + } + + AliAnalysisTaskEmcalJet::ExecOnce(); +} + +//________________________________________________________________________ +Bool_t AliJetResponseMaker::RetrieveEventObjects() +{ + // Retrieve event objects. + + if (!AliAnalysisTaskEmcalJet::RetrieveEventObjects()) + return kFALSE; + + fPythiaHeader = dynamic_cast(MCEvent()->GenEventHeader()); + + if (!fPythiaHeader) + return kFALSE; + + if (fDoWeighting) + fEventWeight = fPythiaHeader->EventWeight(); + else + fEventWeight = 1; + + const Int_t ptHardLo[11] = { 0, 5,11,21,36,57, 84,117,152,191,234}; + const Int_t ptHardHi[11] = { 5,11,21,36,57,84,117,152,191,234,1000000}; + + Double_t pthard = fPythiaHeader->GetPtHard(); + + for (fPtHardBin = 0; fPtHardBin < 11; fPtHardBin++) { + if (pthard >= ptHardLo[fPtHardBin] && pthard < ptHardHi[fPtHardBin]) + break; + } + fPtHardBin--; + + fNTrials = fPythiaHeader->Trials(); + + return kTRUE; +} + +//________________________________________________________________________ +Bool_t AliJetResponseMaker::Run() +{ + // Find the closest jets + + fHistEvents->SetBinContent(fPtHardBin, fHistEvents->GetBinContent(fPtHardBin) + 1); + + if (TMath::Abs(fVertex[2]) > fVertexCut) + return kFALSE; + + fHistAcceptedEvents->SetBinContent(fPtHardBin, fHistEvents->GetBinContent(fPtHardBin) + 1); + fHistNTrials->SetBinContent(fPtHardBin, fHistNTrials->GetBinContent(fPtHardBin) + fNTrials); + + DoJetLoop(fJets, fMCJets, kFALSE); + DoJetLoop(fMCJets, fJets, kTRUE); + + return kTRUE; +} + //________________________________________________________________________ void AliJetResponseMaker::DoJetLoop(TClonesArray *jets1, TClonesArray *jets2, Bool_t mc) { @@ -241,7 +331,7 @@ void AliJetResponseMaker::DoJetLoop(TClonesArray *jets1, TClonesArray *jets2, Bo continue; } - if (!AcceptJet(jet1, kTRUE, mc)) + if (!AcceptJet(jet1, kTRUE, !mc)) continue; for (Int_t j = 0; j < nJets2; j++) { @@ -253,7 +343,7 @@ void AliJetResponseMaker::DoJetLoop(TClonesArray *jets1, TClonesArray *jets2, Bo continue; } - if (!AcceptJet(jet2, kTRUE, !mc)) + if (!AcceptJet(jet2, kTRUE, mc)) continue; Double_t deta = jet2->Eta() - jet1->Eta(); @@ -271,42 +361,6 @@ void AliJetResponseMaker::DoJetLoop(TClonesArray *jets1, TClonesArray *jets2, Bo } } -//________________________________________________________________________ -void AliJetResponseMaker::ExecOnce() -{ - // Execute once. - - if (!fMCJetsName.IsNull() && !fMCJets) { - fMCJets = dynamic_cast(InputEvent()->FindListObject(fMCJetsName)); - if (!fMCJets) { - AliError(Form("%s: Could not retrieve mc jets %s!", GetName(), fMCJetsName.Data())); - return; - } - else if (!fMCJets->GetClass()->GetBaseClass("AliEmcalJet")) { - AliError(Form("%s: Collection %s does not contain AliEmcalJet objects!", GetName(), fMCJetsName.Data())); - fMCJets = 0; - return; - } - } - - if (!fMCTracksName.IsNull() && !fMCTracks) { - fMCTracks = dynamic_cast(InputEvent()->FindListObject(fMCTracksName)); - if (!fMCTracks) { - AliError(Form("%s: Could not retrieve mc tracks %s!", GetName(), fMCTracksName.Data())); - return; - } - else { - TClass *cl = fMCTracks->GetClass(); - if (!cl->GetBaseClass("AliVParticle") && !cl->GetBaseClass("AliEmcalParticle")) { - AliError(Form("%s: Collection %s does not contain AliVParticle nor AliEmcalParticle objects!", GetName(), fMCTracksName.Data())); - fMCTracks = 0; - return; - } - } - } - - AliAnalysisTaskEmcalJet::ExecOnce(); -} //________________________________________________________________________ Bool_t AliJetResponseMaker::FillHistograms() @@ -414,56 +468,3 @@ Bool_t AliJetResponseMaker::FillHistograms() return kTRUE; } - -//________________________________________________________________________ -Bool_t AliJetResponseMaker::RetrieveEventObjects() -{ - // Retrieve event objects. - - if (!AliAnalysisTaskEmcalJet::RetrieveEventObjects()) - return kFALSE; - - fPythiaHeader = dynamic_cast(MCEvent()->GenEventHeader()); - - if (!fPythiaHeader) - return kFALSE; - - if (fDoWeighting) - fEventWeight = fPythiaHeader->EventWeight(); - else - fEventWeight = 1; - - const Int_t ptHardLo[11] = { 0, 5,11,21,36,57, 84,117,152,191,234}; - const Int_t ptHardHi[11] = { 5,11,21,36,57,84,117,152,191,234,1000000}; - - Double_t pthard = fPythiaHeader->GetPtHard(); - - for (fPtHardBin = 0; fPtHardBin < 11; fPtHardBin++) { - if (ptHardLo[fPtHardBin] < pthard && ptHardHi[fPtHardBin] > pthard) - break; - } - - fNTrials = fPythiaHeader->Trials(); - - return kTRUE; -} - -//________________________________________________________________________ -Bool_t AliJetResponseMaker::Run() -{ - // Find the closest jets - - fHistEvents->SetBinContent(fPtHardBin, fHistEvents->GetBinContent(fPtHardBin) + 1); - - if (TMath::Abs(fVertex[2]) > fVertexCut) - return kFALSE; - - fHistAcceptedEvents->SetBinContent(fPtHardBin, fHistEvents->GetBinContent(fPtHardBin) + 1); - fHistNTrials->SetBinContent(fPtHardBin, fHistNTrials->GetBinContent(fPtHardBin) + fNTrials); - - DoJetLoop(fJets, fMCJets, kFALSE); - DoJetLoop(fMCJets, fJets, kTRUE); - - return kTRUE; -} -