#include <TClonesArray.h>
#include <TH1F.h>
#include <TH2F.h>
#include <TH3F.h>
#include <THnSparse.h>
#include <TList.h>
#include <TLorentzVector.h>
#include <TProfile.h>
#include <TChain.h>
#include <TSystem.h>
#include <TFile.h>
#include <TKey.h>
#include "AliAnalysisManager.h"
#include "AliLog.h"
#include "AliVCluster.h"
#include "AliVTrack.h"
#include "AliEmcalJet.h"
#include "AliRhoParameter.h"
#include "AliEmcalParticle.h"
#include "AliJetContainer.h"
#include "AliParticleContainer.h"
#include "AliAnalysisTaskRhoMassScale.h"
ClassImp(AliAnalysisTaskRhoMassScale)
AliAnalysisTaskRhoMassScale::AliAnalysisTaskRhoMassScale() :
AliAnalysisTaskEmcalJet("AliAnalysisTaskRhoMassScale", kTRUE),
fContainerNeutral(0),
fContainerCharged(1),
fRhoMNeutralName(""),
fRhoMChargedEmcalName(""),
fRhoMCharged2xEmcalName(""),
fRhoMNeutral(0),
fRhoMChargedEmcal(0),
fRhoMCharged2xEmcal(0),
fHistScaleEmcalvsCent(0),
fHistScale2EmcalvsCent(0),
fHistDeltaScale2EmcalvsCent(0),
fHistScaleEmcalvsMult(0),
fHistScale2EmcalvsMult(0),
fHistDeltaScale2EmcalvsMult(0)
{
SetMakeGeneralHistograms(kTRUE);
}
AliAnalysisTaskRhoMassScale::AliAnalysisTaskRhoMassScale(const char *name) :
AliAnalysisTaskEmcalJet(name, kTRUE),
fContainerNeutral(0),
fContainerCharged(1),
fRhoMNeutralName(""),
fRhoMChargedEmcalName(""),
fRhoMCharged2xEmcalName(""),
fRhoMNeutral(0),
fRhoMChargedEmcal(0),
fRhoMCharged2xEmcal(0),
fHistScaleEmcalvsCent(0),
fHistScale2EmcalvsCent(0),
fHistDeltaScale2EmcalvsCent(0),
fHistScaleEmcalvsMult(0),
fHistScale2EmcalvsMult(0),
fHistDeltaScale2EmcalvsMult(0)
{
SetMakeGeneralHistograms(kTRUE);
}
AliAnalysisTaskRhoMassScale::~AliAnalysisTaskRhoMassScale()
{
}
void AliAnalysisTaskRhoMassScale::UserCreateOutputObjects()
{
AliAnalysisTaskEmcalJet::UserCreateOutputObjects();
Bool_t oldStatus = TH1::AddDirectoryStatus();
TH1::AddDirectory(kFALSE);
TString histName = "";
TString histTitle = "";
histName = "fHistScaleEmcalvsCent";
histTitle = TString::Format("%s;Centrality;s_{EMC}",histName.Data());
fHistScaleEmcalvsCent= new TH2F(histName.Data(),histTitle.Data(), 101, -1, 100, 500, 0, 5);
fOutput->Add(fHistScaleEmcalvsCent);
histName = "fHistScale2EmcalvsCent";
histTitle = TString::Format("%s;Centrality;s_{2 #times EMC}",histName.Data());
fHistScale2EmcalvsCent = new TH2F(histName.Data(),histTitle.Data(), 101, -1, 100, 500, 0, 5);
fOutput->Add(fHistScale2EmcalvsCent);
histName = "fHistDeltaScale2EmcalvsCent";
histTitle = TString::Format("%s;Centrality;s_{2 #times EMC}-s_{EMC}",histName.Data());
fHistDeltaScale2EmcalvsCent = new TH2F(histName.Data(),histTitle.Data(), 101, -1, 100, 500, -2.5, 2.5);
fOutput->Add(fHistDeltaScale2EmcalvsCent);
histName = "fHistScaleEmcalvsMult";
histTitle = TString::Format("%s;#it{N}_{track};s_{EMC}",histName.Data());
fHistScaleEmcalvsMult= new TH2F(histName.Data(),histTitle.Data(), 800, 0, 4000, 500, 0, 5);
fOutput->Add(fHistScaleEmcalvsMult);
histName = "fHistScale2EmcalvsMult";
histTitle = TString::Format("%s;#it{N}_{track};s_{2 #times EMC}",histName.Data());
fHistScale2EmcalvsMult = new TH2F(histName.Data(),histTitle.Data(), 800, 0, 4000, 500, 0, 5);
fOutput->Add(fHistScale2EmcalvsMult);
histName = "fHistDeltaScale2EmcalvsMult";
histTitle = TString::Format("%s;#it{N}_{track};s_{2 #times EMC}-s_{EMC}",histName.Data());
fHistDeltaScale2EmcalvsMult = new TH2F(histName.Data(),histTitle.Data(), 800, 0, 4000, 500, -2.5, 2.5);
fOutput->Add(fHistDeltaScale2EmcalvsMult);
for (Int_t i=0; i<fOutput->GetEntries(); ++i) {
TH1 *h1 = dynamic_cast<TH1*>(fOutput->At(i));
if (h1){
h1->Sumw2();
continue;
}
THnSparse *hn = dynamic_cast<THnSparse*>(fOutput->At(i));
if(hn)hn->Sumw2();
}
TH1::AddDirectory(oldStatus);
PostData(1, fOutput);
}
Bool_t AliAnalysisTaskRhoMassScale::Run()
{
return kTRUE;
}
Bool_t AliAnalysisTaskRhoMassScale::FillHistograms()
{
Double_t rhomNe = fRhoMNeutral->GetVal();
Double_t rhomChEmcal = fRhoMChargedEmcal->GetVal();
Double_t rhomCh2xEmcal = fRhoMCharged2xEmcal->GetVal();
Double_t scale = -1.; Double_t scale2 = -1.;
if(rhomChEmcal>0.) scale = (rhomNe+rhomChEmcal)/rhomChEmcal;
if(rhomCh2xEmcal>0.) scale2 = (rhomNe+rhomChEmcal)/rhomCh2xEmcal;
fHistScaleEmcalvsCent->Fill(fCent,scale);
fHistScale2EmcalvsCent->Fill(fCent,scale2);
fHistDeltaScale2EmcalvsCent->Fill(fCent,scale2-scale);
Int_t mult = -1;
if(GetParticleContainer(0))
mult = GetParticleContainer(0)->GetNAcceptedParticles();
fHistScaleEmcalvsMult->Fill(mult,scale);
fHistScale2EmcalvsMult->Fill(mult,scale2);
fHistDeltaScale2EmcalvsMult->Fill(mult,scale2-scale);
return kTRUE;
}
Bool_t AliAnalysisTaskRhoMassScale::RetrieveEventObjects() {
if (!AliAnalysisTaskEmcalJet::RetrieveEventObjects())
return kFALSE;
if (!fRhoMNeutralName.IsNull() && !fRhoMNeutral) {
fRhoMNeutral = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fRhoMNeutralName));
if (!fRhoMNeutral) {
AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoMNeutralName.Data()));
fInitialized = kFALSE;
return kFALSE;
}
}
if (!fRhoMChargedEmcalName.IsNull() && !fRhoMChargedEmcal) {
fRhoMChargedEmcal = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fRhoMChargedEmcalName));
if (!fRhoMChargedEmcal) {
AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoMChargedEmcalName.Data()));
fInitialized = kFALSE;
return kFALSE;
}
}
if (!fRhoMCharged2xEmcalName.IsNull() && !fRhoMCharged2xEmcal) {
fRhoMCharged2xEmcal = dynamic_cast<AliRhoParameter*>(InputEvent()->FindListObject(fRhoMCharged2xEmcalName));
if (!fRhoMCharged2xEmcal) {
AliError(Form("%s: Could not retrieve rho %s!", GetName(), fRhoMCharged2xEmcalName.Data()));
fInitialized = kFALSE;
return kFALSE;
}
}
return kTRUE;
}
void AliAnalysisTaskRhoMassScale::Terminate(Option_t *)
{
}
AliAnalysisTaskRhoMassScale.cxx:1 AliAnalysisTaskRhoMassScale.cxx:2 AliAnalysisTaskRhoMassScale.cxx:3 AliAnalysisTaskRhoMassScale.cxx:4 AliAnalysisTaskRhoMassScale.cxx:5 AliAnalysisTaskRhoMassScale.cxx:6 AliAnalysisTaskRhoMassScale.cxx:7 AliAnalysisTaskRhoMassScale.cxx:8 AliAnalysisTaskRhoMassScale.cxx:9 AliAnalysisTaskRhoMassScale.cxx:10 AliAnalysisTaskRhoMassScale.cxx:11 AliAnalysisTaskRhoMassScale.cxx:12 AliAnalysisTaskRhoMassScale.cxx:13 AliAnalysisTaskRhoMassScale.cxx:14 AliAnalysisTaskRhoMassScale.cxx:15 AliAnalysisTaskRhoMassScale.cxx:16 AliAnalysisTaskRhoMassScale.cxx:17 AliAnalysisTaskRhoMassScale.cxx:18 AliAnalysisTaskRhoMassScale.cxx:19 AliAnalysisTaskRhoMassScale.cxx:20 AliAnalysisTaskRhoMassScale.cxx:21 AliAnalysisTaskRhoMassScale.cxx:22 AliAnalysisTaskRhoMassScale.cxx:23 AliAnalysisTaskRhoMassScale.cxx:24 AliAnalysisTaskRhoMassScale.cxx:25 AliAnalysisTaskRhoMassScale.cxx:26 AliAnalysisTaskRhoMassScale.cxx:27 AliAnalysisTaskRhoMassScale.cxx:28 AliAnalysisTaskRhoMassScale.cxx:29 AliAnalysisTaskRhoMassScale.cxx:30 AliAnalysisTaskRhoMassScale.cxx:31 AliAnalysisTaskRhoMassScale.cxx:32 AliAnalysisTaskRhoMassScale.cxx:33 AliAnalysisTaskRhoMassScale.cxx:34 AliAnalysisTaskRhoMassScale.cxx:35 AliAnalysisTaskRhoMassScale.cxx:36 AliAnalysisTaskRhoMassScale.cxx:37 AliAnalysisTaskRhoMassScale.cxx:38 AliAnalysisTaskRhoMassScale.cxx:39 AliAnalysisTaskRhoMassScale.cxx:40 AliAnalysisTaskRhoMassScale.cxx:41 AliAnalysisTaskRhoMassScale.cxx:42 AliAnalysisTaskRhoMassScale.cxx:43 AliAnalysisTaskRhoMassScale.cxx:44 AliAnalysisTaskRhoMassScale.cxx:45 AliAnalysisTaskRhoMassScale.cxx:46 AliAnalysisTaskRhoMassScale.cxx:47 AliAnalysisTaskRhoMassScale.cxx:48 AliAnalysisTaskRhoMassScale.cxx:49 AliAnalysisTaskRhoMassScale.cxx:50 AliAnalysisTaskRhoMassScale.cxx:51 AliAnalysisTaskRhoMassScale.cxx:52 AliAnalysisTaskRhoMassScale.cxx:53 AliAnalysisTaskRhoMassScale.cxx:54 AliAnalysisTaskRhoMassScale.cxx:55 AliAnalysisTaskRhoMassScale.cxx:56 AliAnalysisTaskRhoMassScale.cxx:57 AliAnalysisTaskRhoMassScale.cxx:58 AliAnalysisTaskRhoMassScale.cxx:59 AliAnalysisTaskRhoMassScale.cxx:60 AliAnalysisTaskRhoMassScale.cxx:61 AliAnalysisTaskRhoMassScale.cxx:62 AliAnalysisTaskRhoMassScale.cxx:63 AliAnalysisTaskRhoMassScale.cxx:64 AliAnalysisTaskRhoMassScale.cxx:65 AliAnalysisTaskRhoMassScale.cxx:66 AliAnalysisTaskRhoMassScale.cxx:67 AliAnalysisTaskRhoMassScale.cxx:68 AliAnalysisTaskRhoMassScale.cxx:69 AliAnalysisTaskRhoMassScale.cxx:70 AliAnalysisTaskRhoMassScale.cxx:71 AliAnalysisTaskRhoMassScale.cxx:72 AliAnalysisTaskRhoMassScale.cxx:73 AliAnalysisTaskRhoMassScale.cxx:74 AliAnalysisTaskRhoMassScale.cxx:75 AliAnalysisTaskRhoMassScale.cxx:76 AliAnalysisTaskRhoMassScale.cxx:77 AliAnalysisTaskRhoMassScale.cxx:78 AliAnalysisTaskRhoMassScale.cxx:79 AliAnalysisTaskRhoMassScale.cxx:80 AliAnalysisTaskRhoMassScale.cxx:81 AliAnalysisTaskRhoMassScale.cxx:82 AliAnalysisTaskRhoMassScale.cxx:83 AliAnalysisTaskRhoMassScale.cxx:84 AliAnalysisTaskRhoMassScale.cxx:85 AliAnalysisTaskRhoMassScale.cxx:86 AliAnalysisTaskRhoMassScale.cxx:87 AliAnalysisTaskRhoMassScale.cxx:88 AliAnalysisTaskRhoMassScale.cxx:89 AliAnalysisTaskRhoMassScale.cxx:90 AliAnalysisTaskRhoMassScale.cxx:91 AliAnalysisTaskRhoMassScale.cxx:92 AliAnalysisTaskRhoMassScale.cxx:93 AliAnalysisTaskRhoMassScale.cxx:94 AliAnalysisTaskRhoMassScale.cxx:95 AliAnalysisTaskRhoMassScale.cxx:96 AliAnalysisTaskRhoMassScale.cxx:97 AliAnalysisTaskRhoMassScale.cxx:98 AliAnalysisTaskRhoMassScale.cxx:99 AliAnalysisTaskRhoMassScale.cxx:100 AliAnalysisTaskRhoMassScale.cxx:101 AliAnalysisTaskRhoMassScale.cxx:102 AliAnalysisTaskRhoMassScale.cxx:103 AliAnalysisTaskRhoMassScale.cxx:104 AliAnalysisTaskRhoMassScale.cxx:105 AliAnalysisTaskRhoMassScale.cxx:106 AliAnalysisTaskRhoMassScale.cxx:107 AliAnalysisTaskRhoMassScale.cxx:108 AliAnalysisTaskRhoMassScale.cxx:109 AliAnalysisTaskRhoMassScale.cxx:110 AliAnalysisTaskRhoMassScale.cxx:111 AliAnalysisTaskRhoMassScale.cxx:112 AliAnalysisTaskRhoMassScale.cxx:113 AliAnalysisTaskRhoMassScale.cxx:114 AliAnalysisTaskRhoMassScale.cxx:115 AliAnalysisTaskRhoMassScale.cxx:116 AliAnalysisTaskRhoMassScale.cxx:117 AliAnalysisTaskRhoMassScale.cxx:118 AliAnalysisTaskRhoMassScale.cxx:119 AliAnalysisTaskRhoMassScale.cxx:120 AliAnalysisTaskRhoMassScale.cxx:121 AliAnalysisTaskRhoMassScale.cxx:122 AliAnalysisTaskRhoMassScale.cxx:123 AliAnalysisTaskRhoMassScale.cxx:124 AliAnalysisTaskRhoMassScale.cxx:125 AliAnalysisTaskRhoMassScale.cxx:126 AliAnalysisTaskRhoMassScale.cxx:127 AliAnalysisTaskRhoMassScale.cxx:128 AliAnalysisTaskRhoMassScale.cxx:129 AliAnalysisTaskRhoMassScale.cxx:130 AliAnalysisTaskRhoMassScale.cxx:131 AliAnalysisTaskRhoMassScale.cxx:132 AliAnalysisTaskRhoMassScale.cxx:133 AliAnalysisTaskRhoMassScale.cxx:134 AliAnalysisTaskRhoMassScale.cxx:135 AliAnalysisTaskRhoMassScale.cxx:136 AliAnalysisTaskRhoMassScale.cxx:137 AliAnalysisTaskRhoMassScale.cxx:138 AliAnalysisTaskRhoMassScale.cxx:139 AliAnalysisTaskRhoMassScale.cxx:140 AliAnalysisTaskRhoMassScale.cxx:141 AliAnalysisTaskRhoMassScale.cxx:142 AliAnalysisTaskRhoMassScale.cxx:143 AliAnalysisTaskRhoMassScale.cxx:144 AliAnalysisTaskRhoMassScale.cxx:145 AliAnalysisTaskRhoMassScale.cxx:146 AliAnalysisTaskRhoMassScale.cxx:147 AliAnalysisTaskRhoMassScale.cxx:148 AliAnalysisTaskRhoMassScale.cxx:149 AliAnalysisTaskRhoMassScale.cxx:150 AliAnalysisTaskRhoMassScale.cxx:151 AliAnalysisTaskRhoMassScale.cxx:152 AliAnalysisTaskRhoMassScale.cxx:153 AliAnalysisTaskRhoMassScale.cxx:154 AliAnalysisTaskRhoMassScale.cxx:155 AliAnalysisTaskRhoMassScale.cxx:156 AliAnalysisTaskRhoMassScale.cxx:157 AliAnalysisTaskRhoMassScale.cxx:158 AliAnalysisTaskRhoMassScale.cxx:159 AliAnalysisTaskRhoMassScale.cxx:160 AliAnalysisTaskRhoMassScale.cxx:161 AliAnalysisTaskRhoMassScale.cxx:162 AliAnalysisTaskRhoMassScale.cxx:163 AliAnalysisTaskRhoMassScale.cxx:164 AliAnalysisTaskRhoMassScale.cxx:165 AliAnalysisTaskRhoMassScale.cxx:166 AliAnalysisTaskRhoMassScale.cxx:167 AliAnalysisTaskRhoMassScale.cxx:168 AliAnalysisTaskRhoMassScale.cxx:169 AliAnalysisTaskRhoMassScale.cxx:170 AliAnalysisTaskRhoMassScale.cxx:171 AliAnalysisTaskRhoMassScale.cxx:172 AliAnalysisTaskRhoMassScale.cxx:173 AliAnalysisTaskRhoMassScale.cxx:174 AliAnalysisTaskRhoMassScale.cxx:175 AliAnalysisTaskRhoMassScale.cxx:176 AliAnalysisTaskRhoMassScale.cxx:177 AliAnalysisTaskRhoMassScale.cxx:178 AliAnalysisTaskRhoMassScale.cxx:179 AliAnalysisTaskRhoMassScale.cxx:180 AliAnalysisTaskRhoMassScale.cxx:181 AliAnalysisTaskRhoMassScale.cxx:182 AliAnalysisTaskRhoMassScale.cxx:183 AliAnalysisTaskRhoMassScale.cxx:184 AliAnalysisTaskRhoMassScale.cxx:185 AliAnalysisTaskRhoMassScale.cxx:186 AliAnalysisTaskRhoMassScale.cxx:187 AliAnalysisTaskRhoMassScale.cxx:188 AliAnalysisTaskRhoMassScale.cxx:189 AliAnalysisTaskRhoMassScale.cxx:190 AliAnalysisTaskRhoMassScale.cxx:191 AliAnalysisTaskRhoMassScale.cxx:192 AliAnalysisTaskRhoMassScale.cxx:193 AliAnalysisTaskRhoMassScale.cxx:194 AliAnalysisTaskRhoMassScale.cxx:195 AliAnalysisTaskRhoMassScale.cxx:196 AliAnalysisTaskRhoMassScale.cxx:197 AliAnalysisTaskRhoMassScale.cxx:198 AliAnalysisTaskRhoMassScale.cxx:199 AliAnalysisTaskRhoMassScale.cxx:200 AliAnalysisTaskRhoMassScale.cxx:201 AliAnalysisTaskRhoMassScale.cxx:202 AliAnalysisTaskRhoMassScale.cxx:203 AliAnalysisTaskRhoMassScale.cxx:204 AliAnalysisTaskRhoMassScale.cxx:205 AliAnalysisTaskRhoMassScale.cxx:206 AliAnalysisTaskRhoMassScale.cxx:207 AliAnalysisTaskRhoMassScale.cxx:208 AliAnalysisTaskRhoMassScale.cxx:209 AliAnalysisTaskRhoMassScale.cxx:210 AliAnalysisTaskRhoMassScale.cxx:211 AliAnalysisTaskRhoMassScale.cxx:212 AliAnalysisTaskRhoMassScale.cxx:213 AliAnalysisTaskRhoMassScale.cxx:214 AliAnalysisTaskRhoMassScale.cxx:215 AliAnalysisTaskRhoMassScale.cxx:216 AliAnalysisTaskRhoMassScale.cxx:217 AliAnalysisTaskRhoMassScale.cxx:218 AliAnalysisTaskRhoMassScale.cxx:219 AliAnalysisTaskRhoMassScale.cxx:220 AliAnalysisTaskRhoMassScale.cxx:221 AliAnalysisTaskRhoMassScale.cxx:222 AliAnalysisTaskRhoMassScale.cxx:223 AliAnalysisTaskRhoMassScale.cxx:224 AliAnalysisTaskRhoMassScale.cxx:225 AliAnalysisTaskRhoMassScale.cxx:226 AliAnalysisTaskRhoMassScale.cxx:227