fAreacut(0.0),
fTrkBias(5),
fClusBias(5),
+ fTrkEta(0.9),
fDoEventMixing(0),
fMixingTracks(50000),
fESD(0),
fHistTrackPt(0),
fHistCentrality(0),
fHistJetEtaPhi(0),
- fHistTrackEtaPhi(0),
fHistJetHEtaPhi(0),
- fhnMixedEvents(0x0)
+ fhnMixedEvents(0x0),
+ fhnJH(0x0)
{
// Default Constructor
+ for(Int_t ipta=0; ipta<7; ipta++){
+ fHistTrackEtaPhi[ipta]=0;
+ }
+
+
for(Int_t icent = 0; icent<6; ++icent){
fHistJetPt[icent]=0;
fHistJetPtBias[icent]=0;
fAreacut(0.0),
fTrkBias(5),
fClusBias(5),
+ fTrkEta(0.9),
fDoEventMixing(0),
fMixingTracks(50000),
fESD(0),
fHistTrackPt(0),
fHistCentrality(0),
fHistJetEtaPhi(0),
- fHistTrackEtaPhi(0),
fHistJetHEtaPhi(0),
- fhnMixedEvents(0x0)
+ fhnMixedEvents(0x0),
+ fhnJH(0x0)
{
// Constructor
+ for(Int_t ipta=0; ipta<7; ipta++){
+ fHistTrackEtaPhi[ipta]=0;
+ }
for(Int_t icent = 0; icent<6; ++icent){
fHistJetPt[icent]=0;
fHistJetPtBias[icent]=0;
fHistCentrality = new TH1F("fHistCentrality","centrality",100,0,100);
fHistJetEtaPhi = new TH2F("fHistJetEtaPhi","Jet eta-phi",900,-1.8,1.8,640,-3.2,3.2);
- fHistTrackEtaPhi = new TH2F("fHistTrackEtaPhi","Track eta-phi",900,-1.8,1.8,640,-3.2,3.2);
fHistJetHEtaPhi = new TH2F("fHistJetHEtaPhi","Jet-Hadron deta-dphi",900,-1.8,1.8,640,-1.6,4.8);
char name[200];
+ for(Int_t ipta=0; ipta<7; ++ipta){
+ sprintf(name, "fHistTrackEtaPhi_%i", ipta);
+ fHistTrackEtaPhi[ipta] = new TH2F(name,name,400,-1,1,640,0.0,2*TMath::Pi());
+ fOutputList->Add(fHistTrackEtaPhi[ipta]);
+
+ }
for(Int_t icent = 0; icent<6; ++icent){
sprintf(name,"fHistJetPt_%i",icent);
}
}
+
+
+ UInt_t cifras = 0; // bit coded, see GetDimParams() below
+ cifras = 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<7;
+ fhnJH = NewTHnSparseF("fhnJH", cifras);
+
+ fhnJH->Sumw2();
+
+ fOutputList->Add(fhnJH);
+
+
if(fDoEventMixing){
- UInt_t cifras = 0; // bit coded, see GetDimParams() below
cifras = 1<<0 | 1<<1 | 1<<2 | 1<<3 | 1<<4 | 1<<5 | 1<<7;
fhnMixedEvents = NewTHnSparseF("fhnMixedEvents", cifras);
fhnMixedEvents->Sumw2();
+
+ fOutputList->Add(fhnMixedEvents);
+
}
fOutputList->Add(fHistTrackPt);
fOutputList->Add(fHistCentrality);
fOutputList->Add(fHistJetEtaPhi);
- fOutputList->Add(fHistTrackEtaPhi);
fOutputList->Add(fHistJetHEtaPhi);
- fOutputList->Add(fhnMixedEvents);
PostData(1, fOutputList);
continue;
}
- if(TMath::Abs(track->Eta())>0.9) continue;
+ if(TMath::Abs(track->Eta())>fTrkEta) continue;
fHistTrackPt->Fill(track->Pt());
trackphi = trackphi-2*TMath::Pi();
Double_t tracketa=track->Eta();
-
+ Double_t trackpt=track->Pt();
Double_t deta=tracketa-jeteta;
Int_t ieta=GetEtaBin(deta);
//Jet pt, track pt, dPhi,deta,fcent
Double_t dphijh = RelativePhi(jetphi,trackphi);
if (dphijh < -0.5*TMath::Pi())
- dphijh= dphijh+ 2*TMath::Pi();
+ dphijh+= 2*TMath::Pi();
+ if (dphijh > 1.5*TMath::Pi()) dphijh-=2.*TMath::Pi();
+
Int_t iptjet=-1;
iptjet=GetpTjetBin(jetPt);
fHistJetH[centbin][iptjet][ieta]->Fill(dphijh,track->Pt());
fHistJetHEtaPhi->Fill(deta,dphijh);
- fHistTrackEtaPhi->Fill(tracketa,trackphi);
- if ((jet->MaxTrackPt()>6) || (jet->MaxClusterPt()>6))
- fHistJetHBias[centbin][iptjet][ieta]->Fill(dphijh,track->Pt());
-
+
+ Double_t dR=sqrt(deta*deta+dphijh*dphijh);
+
+ if ((jet->MaxTrackPt()>fTrkBias) || (jet->MaxClusterPt()>fClusBias)){
+ fHistJetHBias[centbin][iptjet][ieta]->Fill(dphijh,trackpt);
+
+ Double_t triggerEntries[7] = {fcent,jetPt,track->Pt(),dR,deta,dphijh,0.0};
+ fhnJH->Fill(triggerEntries);
+ }
+
if(passedTTcut)
- fHistJetHTT[centbin][iptjet][ieta]->Fill(dphijh,track->Pt());
+ fHistJetHTT[centbin][iptjet][ieta]->Fill(dphijh,trackpt);
} //track loop
-
-
+
PostData(1, fOutputList);
}
case 4:
label = "deltaEta";
- nbins = 8;
- xmin = -1.6;
- xmax = 1.6;
+ nbins = 24;
+ xmin = -1.2;
+ xmax = 1.2;
break;
// From CF event mixing code PhiCorrelations
TObjArray* AliAnalysisTaskEmcalJetHMEC::CloneAndReduceTrackList(TObjArray* tracks)
{
- // clones a track list by using AliDPhiBasicParticle which uses much less memory (used for event mixing)
+ // clones a track list by using AliPicoTrack which uses much less memory (used for event mixing)
TObjArray* tracksClone = new TObjArray;
tracksClone->SetOwner(kTRUE);
for (Int_t i=0; i<tracks->GetEntriesFast(); i++)
{
AliVParticle* particle = (AliVParticle*) tracks->At(i);
- if(TMath::Abs(particle->Eta())>0.9) continue;
+ if(TMath::Abs(particle->Eta())>fTrkEta) continue;
if(particle->Pt()<0.15)continue;
+ Double_t trackpt=particle->Pt();
+
+ Int_t hadbin=-1;
+ if(trackpt<0.5) hadbin=0;
+ else if(trackpt<1) hadbin=1;
+ else if(trackpt<2) hadbin=2;
+ else if(trackpt<3) hadbin=3;
+ else if(trackpt<5) hadbin=4;
+ else if(trackpt<8) hadbin=5;
+ else if(trackpt<20) hadbin=6;
+
+ if(hadbin>-1) fHistTrackEtaPhi[hadbin]->Fill(particle->Eta(),particle->Phi());
+
+
tracksClone->Add(new AliPicoTrack(particle->Pt(), particle->Eta(), particle->Phi(), particle->Charge(), 0, 0, 0, 0));
}
virtual void SetTrkBias(Double_t b) { fTrkBias = b; } //require a track with pt > b in jet
virtual void SetClusBias(Double_t b) { fClusBias = b; } //require a cluster with pt > b in jet
+ virtual void SetTrkEta(Double_t e) { fTrkEta = e; } //eta range of the associated tracks
+
virtual void SetJetEta(Double_t emin, Double_t emax) { fEtamin = emin; fEtamax = emax; }
virtual void SetJetPhi(Double_t pmin, Double_t pmax) { fPhimin = pmin; fPhimax = pmax; }
virtual void SetEventMixing(Int_t yesno) { fDoEventMixing=yesno;}
TString fTracksName; //name of tracks collection
TString fJetsName; //name of Jet collection
- Double_t fPhimin; // phi min
- Double_t fPhimax; // phi max
- Double_t fEtamin; // eta min
- Double_t fEtamax; // eta max
- Double_t fAreacut; // area cut
+ Double_t fPhimin; // phi min of jet
+ Double_t fPhimax; // phi max of jet
+ Double_t fEtamin; // eta min of jet
+ Double_t fEtamax; // eta max of jet
+ Double_t fAreacut; // area cut of jet
Double_t fTrkBias;
Double_t fClusBias;
- Int_t fDoEventMixing;
- Int_t fMixingTracks; // size of track buffer for event mixing
+ Double_t fTrkEta; // eta min/max of tracks
+ Int_t fDoEventMixing; // flag to do evt mixing
+ Int_t fMixingTracks; // size of track buffer for event mixing
TObjArray* CloneAndReduceTrackList(TObjArray* tracks);
AliESDEvent *fESD; //! ESD object
TH1 *fHistTrackPt; //! Pt spectrum
TH1 *fHistCentrality;
TH2 *fHistJetEtaPhi;
- TH2 *fHistTrackEtaPhi;
+ TH2 *fHistTrackEtaPhi[7];
TH2 *fHistJetHEtaPhi;
TH1 *fHistJetPt[6];
TH2 *fHistJetHBias[6][5][3];
TH2 *fHistJetHTT[6][5][3];
THnSparse *fhnMixedEvents; //!mixed events matrix
+ THnSparse *fhnJH; //Fg events matrix
private:
AliAnalysisTaskEmcalJetHMEC(const AliAnalysisTaskEmcalJetHMEC&); // not implemented
AliAnalysisTaskEmcalJetHMEC& operator=(const AliAnalysisTaskEmcalJetHMEC&); // not implemented
- ClassDef(AliAnalysisTaskEmcalJetHMEC, 6);
+ ClassDef(AliAnalysisTaskEmcalJetHMEC, 8);
};
#endif