2 void read_jets(const char* fn = "jets.root")
8 TH1F* eH = new TH1F("eH" , "Jet Energy", 40., 0., 200.);
9 TH1F* e1H = new TH1F("e1H" , "Jet Energy", 40., 0., 200.);
10 TH1F* e2H = new TH1F("e2H" , "Jet Energy", 40., 0., 200.);
11 TH1F* e3H = new TH1F("e3H" , "Jet Energy", 40., 0., 200.);
12 TH1F* e4H = new TH1F("e4H" , "Jet Energy", 40., 0., 200.);
13 TH1F* dr1H = new TH1F("dr1H", "delta R", 160., 0., 2.);
14 TH1F* dr2H = new TH1F("dr2H", "delta R", 160., 0., 2.);
15 TH1F* dr3H = new TH1F("dr4H", "delta R", 160., 0., 2.);
16 TH1F* etaH = new TH1F("etaH", "eta", 160., -2., 2.);
20 gSystem->Load("$(ALICE_ROOT)/lib/tgt_$(ALICE_TARGET)/libJETAN");
23 TFile *jFile = new TFile(fn);
25 // get jet header and display parameters
26 AliUA1JetHeader* jHeader =
27 (AliUA1JetHeader*) (jFile->Get("AliUA1JetHeader"));
28 jHeader->PrintParameters();
30 // get reader header and events to be looped over
31 AliJetESDReaderHeader *jReaderH =
32 (AliJetESDReaderHeader*)(jFile->Get("AliJetESDReaderHeader"));
33 Int_t first = jReaderH->GetFirstEvent();
34 Int_t last = jReaderH->GetLastEvent();
35 cout << "First event = " << first << " Last event = " << last << endl;
42 for (Int_t i=first; i< last; i++) {
43 cout << " Analyzing event " << i << endl;
44 // get next tree with AliJet
46 sprintf(nameT, "TreeJ%d",i);
47 TTree *jetT =(TTree *)(jFile->Get(nameT));
48 jetT->SetBranchAddress("FoundJet", &jets);
49 jetT->SetBranchAddress("GenJet", &gjets);
50 jetT->SetBranchAddress("LeadingPart", &leading);
54 // Find the jet with the highest E_T
56 Int_t njets = jets->GetNJets();
60 for (Int_t j = 0; j < njets; j++) {
61 if (jets->GetPt(j) > emax && TMath::Abs(jets->GetEta(j)) < 0.5) {
62 emax = jets->GetPt(j);
68 e2H->Fill(gjets->GetPt(0));
70 eH->Fill(jets->GetPt(imax));
71 dr1H->Fill(jets->GetEta(imax) - gjets->GetEta(0));
73 // Find the generated jet closest to the reconstructed
78 Float_t etaj = jets->GetEta(imax);
79 Float_t phij = jets->GetPhi(imax);
81 Int_t ngen = gjets->GetNJets();
85 for (Int_t j = 0; j < ngen; j++) {
86 Float_t etag = gjets->GetEta(j);
87 Float_t phig = gjets->GetPhi(j);
88 Float_t deta = etag - etaj;
89 Float_t dphi = TMath::Abs(phig - phij);
90 if (dphi > TMath::Pi()) dphi = 2. * TMath::Pi() - dphi;
91 Float_t r = TMath::Sqrt(deta * deta + dphi * dphi);
98 Float_t egen = gjets->GetPt(igen);
99 e1H->Fill(gjets->GetPt(igen));
101 if (egen > 105. && egen < 125.) {
103 if (rmin > 0.3) etaH->Fill(etaj);
113 Float_t etal = leading->GetLeading()->Eta();
114 Float_t phil = leading->GetLeading()->Phi();
115 Float_t el = leading->GetLeading()->E();
120 Int_t ngen = gjets->GetNJets();
121 for (Int_t j = 0; j < ngen; j++) {
122 Float_t etag = gjets->GetEta(j);
123 Float_t phig = gjets->GetPhi(j);
124 Float_t deta = etag-etal;
125 Float_t dphi = TMath::Abs(phig - phil);
126 if (dphi > TMath::Pi()) dphi = 2. * TMath::Pi() - dphi;
127 Float_t r = TMath::Sqrt(deta * deta + dphi * dphi);
137 // cout << " Generated Jets:" << endl;
138 // gjets->PrintJets();
139 // cout << " Leading particle: " << endl;
140 // leading->PrintLeading();
144 TCanvas* c1 = new TCanvas("c1");
146 e1H->SetLineColor(2);
147 e2H->SetLineColor(4);
148 e3H->SetLineColor(5);
153 TCanvas* c2 = new TCanvas("c2");
155 dr2H->SetLineColor(2);
158 TCanvas* c3 = new TCanvas("c3");
162 TCanvas* c4 = new TCanvas("c4");
165 TCanvas* c5 = new TCanvas("c5");
168 TCanvas* c6 = new TCanvas("c6");