ROOT logo
#include "TH1F.h"
#include "TH2F.h"
#include "TProfile.h"
#include "TClonesArray.h"
#include "TCanvas.h"
#include "TList.h"
#include "TMatrixD.h"
#include "TMatrixDSym.h"
#include "TMatrixDSymEigen.h"

#include "AliAODEvent.h"
#include "AliAODTrack.h"
#include "AliAODJet.h"
#include "AliAnalysisTaskJetsTM.h"

ClassImp(AliAnalysisTaskJetsTM)
//
// Thrust Major (TM) analysis of reconstructed jets.
// TM is the thrust in the plane perpendicular to the jet axis
// The present amalysis performs the following steps:
// (a) Construct to orthogonal unit vectors (e1, e2) in the plane perpendicular to the jet axis
// (b) Calculate the components of all particles with jT > 1 GeV with respect to e1, e2
// (c) Construct the sphericity matrix
// (d) Find the two orthogonal eigenvectors of the spericity matrix
// (e) Caluclate the components of all particles with jT < 1 GeV in the reference frame spanned by the eigenvectors
// (f) Calculate the azimuthal angle in this frame
//
//
// Author: andreas.morsch@cern.ch


AliAnalysisTaskJetsTM::AliAnalysisTaskJetsTM(const char *name) 
    : AliAnalysisTaskSE(name) 
      ,fHists(0)
      ,fPtH(0)
      ,fPtTH(0)
      ,fPhiM(0)
      ,fPhiMPt(0)
      ,fPhiMPtJ(0)
      ,fPtSum(0)
{
  //
  // Constructor
  //
  DefineOutput(1,  TList::Class());
}


//________________________________________________________________________
void AliAnalysisTaskJetsTM::UserCreateOutputObjects()
{
  // Create histograms
  // Called once
    fHists    = new TList();
    fPtH      = new TH1F("fPtH" ,     " p_{T}       distribution of jets"  ,            50, 0., 100.0);
    fPtSum    = new TH2F("fPtSum" ,   " p_{T} sum in cone"                 ,            50, 0., 100.0, 50, 0, 100.);
    fPtTH     = new TH1F("fPtTH",     " p_{T}       distribution of tracks",            50, 0., 100.0);
    fPhiM     = new TH1F("fPhiM",     " phi^{major} distribution of tracks",            64, 0.,   3.2);
    fPhiMPt   = new TH2F("fPhiMPt",   " phi^{major} distribution of tracks vs pt",      64, 0.,   3.2, 20, 0., 2.);
    fPhiMPtJ  = new TH2F("fPhiMPtJ",  " phi^{major} distribution of tracks vs pt Jet",  64, 0.,   3.2, 40, 0., 100.);

    fHists->SetOwner();
    fHists->Add(fPtH);
    fHists->Add(fPtSum);
    fHists->Add(fPtTH);
    fHists->Add(fPhiM);
    fHists->Add(fPhiMPt);
    fHists->Add(fPhiMPtJ);
}


//________________________________________________________________________
void AliAnalysisTaskJetsTM::UserExec(Option_t *) 
{
  // Main loop
  // Called for each event

  if (!fInputEvent) {
    Printf("ERROR: AOD not available");
    return;
  }

  AliAODEvent* aodE  = dynamic_cast<AliAODEvent*>  (fInputEvent);

  if (!aodE) {
    Printf("ERROR: AOD not available");
    return;
  }

  TClonesArray* jets = dynamic_cast<TClonesArray*> (aodE->FindListObject("jetsAOD_FASTKT04"));
  if (!jets) {
    Printf("ERROR: Jet branch not available");
    return;
  }

  Int_t nJ = jets->GetEntries();

  Float_t ptmax = 0.;
  Int_t   imax  = -1;
  
//
// Find highest pT jet with pt > 20 GeV
//
  for (Int_t i = 0; i < nJ; i++) {
      AliAODJet* jet = dynamic_cast<AliAODJet*> (jets->At(i));
      if (!jet) continue;
      Float_t ptJ  = jet->Pt();
      Float_t etaJ = TMath::Abs(jet->Eta());
      if ((ptJ > 20.) && (ptJ  > ptmax) && etaJ < 0.5) {
	  ptmax = ptJ;
	  imax = i;
      }
  }

  if (imax == -1) return;
  

  AliAODJet* jet = dynamic_cast<AliAODJet*> (jets->At(imax));
  Float_t ptJ  = jet->Pt();
  Float_t phiJ = jet->Phi();
  Float_t etaJ = jet->Eta();
  
  fPtH->Fill(ptJ);

//
// The transverse plane
//
// 2 normalized vectors perpendicular to the jet direction
//
      Float_t pxJ = jet->Px();
      Float_t pyJ = jet->Py();
      Float_t pzJ = jet->Pz();
      
      TVector3  ppJ1(pxJ, pyJ, pzJ);
      TVector3  ppJ3(- pxJ * pzJ, - pyJ * pzJ, pxJ * pxJ + pyJ * pyJ);
      ppJ3.SetMag(1.);
      TVector3  ppJ2(-pyJ, pxJ, 0);
      ppJ2.SetMag(1.);

//
// 1st track loop to determine the sphericity matrix
//   
      Int_t nT = aodE->GetNumberOfTracks();
      // Initialize Shericity matrix
      Float_t mxx    = 0.;
      Float_t myy    = 0.;
      Float_t mxy    = 0.;
      Int_t   nc     = 0;
      Float_t sump2  = 0.;
      Float_t ptMax  = 0.;
      Float_t etaMax = 0.;
      Float_t phiMax = 0.;
      Int_t   iMax   = -1;
      Float_t ptsum  = 0.;
      
      for (Int_t i = 0; i < nT; i++) {
	  AliAODTrack* track = dynamic_cast<AliAODTrack*>(aodE->GetTrack(i));
	  if(!track) AliFatal("Not a standard AOD");
//
//    Track quality cuts
	  if (!track->TestFilterBit(1<<4)) continue;
	  fPtTH->Fill(track->Pt());

//
//
	  TVector3 pp(track->Px(), track->Py(), track->Pz());
	      
	  Float_t phi = track->Phi();
	  Float_t eta = track->Eta();
	  Float_t pt  = track->Pt();
	  Float_t jT  = pp.Perp(ppJ1);
	  
	  
	  // pT > 2.
	  
	    
	  Float_t deta = eta - etaJ;
	  Float_t dphi = phi - phiJ;

	  if (dphi >   TMath::Pi()) dphi =   2. * TMath::Pi() - dphi;
	  if (dphi < - TMath::Pi()) dphi = - 2. * TMath::Pi() - dphi;
	  Float_t r = TMath::Sqrt(dphi * dphi + deta * deta);

	  if (r < 0.4) ptsum += pt;
	  if (r < 0.5 && jT > 1.) {
	      TVector3 pLong = pp.Dot(ppJ1) / ppJ1.Mag2() * ppJ1;
	      TVector3 pPerp = pp - pLong;

	      Float_t ppjX = pPerp.Dot(ppJ2);
	      Float_t ppjY = pPerp.Dot(ppJ3);
	      Float_t ppjT = TMath::Sqrt(ppjX * ppjX + ppjY * ppjY);

	      mxx += (ppjX * ppjX / ppjT);
	      myy += (ppjY * ppjY / ppjT);
	      mxy += (ppjX * ppjY / ppjT);
	      nc++;
	      sump2 += ppjT;
	      // max pt
	      if (pt > ptMax) {
		  ptMax  = pt;
		  iMax   = i;
		  etaMax = deta;
		  phiMax = dphi;
	      }
	  } // R < 0.4
      } // 1st Track Loop
      fPtSum->Fill(ptJ, ptsum);
      
//
// At this point we have mxx, myy, mxy
      if (nc == 0) return;      
// Shericity Matrix	
      const Double_t ele[4] = {mxx / sump2, mxy / sump2, mxy / sump2, myy / sump2};	
      TMatrixDSym m0(2, ele);
// Find eigenvectors
      TMatrixDSymEigen m(m0);
      TVectorD eval(2);
      TMatrixD evecm = m.GetEigenVectors();
      eval  = m.GetEigenValues();
// Largest eigenvector
      Int_t jev = 0;
      if (eval[0] < eval[1]) jev = 1;
      TVectorD evec0(2);
// Principle axis
      evec0 = TMatrixDColumn(evecm, jev);
      TVector2 evec(evec0[0], evec0[1]); 
// Principle axis from leading partice
      Float_t phiM = TMath::ATan2(phiMax, etaMax);
      TVector2 evecM(TMath::Cos(phiM), TMath::Sin(phiM)); 
      Float_t phistM = evecM.DeltaPhi(evec);
      if (TMath::Abs(phistM) > TMath::Pi()/2.) evec*=(-1.);

//
// 2nd correlation with principal axis
//   
      for (Int_t i = 0; i < nT; i++) {
	  AliAODTrack* track = dynamic_cast<AliAODTrack*>(aodE->GetTrack(i));
	  if(!track) AliFatal("Not a standard AOD");
//
//    Track quality cuts
	  if (!track->TestFilterBit(1<<4)) continue;
//
//
	  TVector3 pp(track->Px(), track->Py(), track->Pz());
	  Float_t phi = track->Phi();
	  Float_t eta = track->Eta();
	  Float_t pt  = track->Pt();
	  Float_t jT  = pp.Perp(ppJ1);
	  // pT < 2.
	  if (jT > 1.) continue;	    
	  Float_t deta = eta - etaJ;
	  Float_t dphi = phi - phiJ;
	  if (dphi >   TMath::Pi()) dphi =   2. * TMath::Pi() - dphi;
	  if (dphi < - TMath::Pi()) dphi = - 2. * TMath::Pi() - dphi;

	  Float_t r = TMath::Sqrt(dphi * dphi + deta * deta);

	  if (r > 0.7) continue;

	  TVector3 pLong = pp.Dot(ppJ1) / ppJ1.Mag2() * ppJ1;
	  TVector3 pPerp = pp - pLong;
	  
	  Float_t ppjX = pPerp.Dot(ppJ2);
	  Float_t ppjY = pPerp.Dot(ppJ3);
	    
	  TVector2 vr(ppjX, ppjY) ;
	  Float_t phistr = evec.DeltaPhi(vr);
	  fPhiM->Fill(phistr);
	  fPhiMPt ->Fill(phistr, pt);
	  fPhiMPtJ->Fill(phistr, ptJ);
	  
      } // 2nd Track loop
      
  
  // Post output data.
  PostData(1, fHists);
}      

//________________________________________________________________________
void AliAnalysisTaskJetsTM::Terminate(Option_t *) 
{
// Terminate
}  
 AliAnalysisTaskJetsTM.cxx:1
 AliAnalysisTaskJetsTM.cxx:2
 AliAnalysisTaskJetsTM.cxx:3
 AliAnalysisTaskJetsTM.cxx:4
 AliAnalysisTaskJetsTM.cxx:5
 AliAnalysisTaskJetsTM.cxx:6
 AliAnalysisTaskJetsTM.cxx:7
 AliAnalysisTaskJetsTM.cxx:8
 AliAnalysisTaskJetsTM.cxx:9
 AliAnalysisTaskJetsTM.cxx:10
 AliAnalysisTaskJetsTM.cxx:11
 AliAnalysisTaskJetsTM.cxx:12
 AliAnalysisTaskJetsTM.cxx:13
 AliAnalysisTaskJetsTM.cxx:14
 AliAnalysisTaskJetsTM.cxx:15
 AliAnalysisTaskJetsTM.cxx:16
 AliAnalysisTaskJetsTM.cxx:17
 AliAnalysisTaskJetsTM.cxx:18
 AliAnalysisTaskJetsTM.cxx:19
 AliAnalysisTaskJetsTM.cxx:20
 AliAnalysisTaskJetsTM.cxx:21
 AliAnalysisTaskJetsTM.cxx:22
 AliAnalysisTaskJetsTM.cxx:23
 AliAnalysisTaskJetsTM.cxx:24
 AliAnalysisTaskJetsTM.cxx:25
 AliAnalysisTaskJetsTM.cxx:26
 AliAnalysisTaskJetsTM.cxx:27
 AliAnalysisTaskJetsTM.cxx:28
 AliAnalysisTaskJetsTM.cxx:29
 AliAnalysisTaskJetsTM.cxx:30
 AliAnalysisTaskJetsTM.cxx:31
 AliAnalysisTaskJetsTM.cxx:32
 AliAnalysisTaskJetsTM.cxx:33
 AliAnalysisTaskJetsTM.cxx:34
 AliAnalysisTaskJetsTM.cxx:35
 AliAnalysisTaskJetsTM.cxx:36
 AliAnalysisTaskJetsTM.cxx:37
 AliAnalysisTaskJetsTM.cxx:38
 AliAnalysisTaskJetsTM.cxx:39
 AliAnalysisTaskJetsTM.cxx:40
 AliAnalysisTaskJetsTM.cxx:41
 AliAnalysisTaskJetsTM.cxx:42
 AliAnalysisTaskJetsTM.cxx:43
 AliAnalysisTaskJetsTM.cxx:44
 AliAnalysisTaskJetsTM.cxx:45
 AliAnalysisTaskJetsTM.cxx:46
 AliAnalysisTaskJetsTM.cxx:47
 AliAnalysisTaskJetsTM.cxx:48
 AliAnalysisTaskJetsTM.cxx:49
 AliAnalysisTaskJetsTM.cxx:50
 AliAnalysisTaskJetsTM.cxx:51
 AliAnalysisTaskJetsTM.cxx:52
 AliAnalysisTaskJetsTM.cxx:53
 AliAnalysisTaskJetsTM.cxx:54
 AliAnalysisTaskJetsTM.cxx:55
 AliAnalysisTaskJetsTM.cxx:56
 AliAnalysisTaskJetsTM.cxx:57
 AliAnalysisTaskJetsTM.cxx:58
 AliAnalysisTaskJetsTM.cxx:59
 AliAnalysisTaskJetsTM.cxx:60
 AliAnalysisTaskJetsTM.cxx:61
 AliAnalysisTaskJetsTM.cxx:62
 AliAnalysisTaskJetsTM.cxx:63
 AliAnalysisTaskJetsTM.cxx:64
 AliAnalysisTaskJetsTM.cxx:65
 AliAnalysisTaskJetsTM.cxx:66
 AliAnalysisTaskJetsTM.cxx:67
 AliAnalysisTaskJetsTM.cxx:68
 AliAnalysisTaskJetsTM.cxx:69
 AliAnalysisTaskJetsTM.cxx:70
 AliAnalysisTaskJetsTM.cxx:71
 AliAnalysisTaskJetsTM.cxx:72
 AliAnalysisTaskJetsTM.cxx:73
 AliAnalysisTaskJetsTM.cxx:74
 AliAnalysisTaskJetsTM.cxx:75
 AliAnalysisTaskJetsTM.cxx:76
 AliAnalysisTaskJetsTM.cxx:77
 AliAnalysisTaskJetsTM.cxx:78
 AliAnalysisTaskJetsTM.cxx:79
 AliAnalysisTaskJetsTM.cxx:80
 AliAnalysisTaskJetsTM.cxx:81
 AliAnalysisTaskJetsTM.cxx:82
 AliAnalysisTaskJetsTM.cxx:83
 AliAnalysisTaskJetsTM.cxx:84
 AliAnalysisTaskJetsTM.cxx:85
 AliAnalysisTaskJetsTM.cxx:86
 AliAnalysisTaskJetsTM.cxx:87
 AliAnalysisTaskJetsTM.cxx:88
 AliAnalysisTaskJetsTM.cxx:89
 AliAnalysisTaskJetsTM.cxx:90
 AliAnalysisTaskJetsTM.cxx:91
 AliAnalysisTaskJetsTM.cxx:92
 AliAnalysisTaskJetsTM.cxx:93
 AliAnalysisTaskJetsTM.cxx:94
 AliAnalysisTaskJetsTM.cxx:95
 AliAnalysisTaskJetsTM.cxx:96
 AliAnalysisTaskJetsTM.cxx:97
 AliAnalysisTaskJetsTM.cxx:98
 AliAnalysisTaskJetsTM.cxx:99
 AliAnalysisTaskJetsTM.cxx:100
 AliAnalysisTaskJetsTM.cxx:101
 AliAnalysisTaskJetsTM.cxx:102
 AliAnalysisTaskJetsTM.cxx:103
 AliAnalysisTaskJetsTM.cxx:104
 AliAnalysisTaskJetsTM.cxx:105
 AliAnalysisTaskJetsTM.cxx:106
 AliAnalysisTaskJetsTM.cxx:107
 AliAnalysisTaskJetsTM.cxx:108
 AliAnalysisTaskJetsTM.cxx:109
 AliAnalysisTaskJetsTM.cxx:110
 AliAnalysisTaskJetsTM.cxx:111
 AliAnalysisTaskJetsTM.cxx:112
 AliAnalysisTaskJetsTM.cxx:113
 AliAnalysisTaskJetsTM.cxx:114
 AliAnalysisTaskJetsTM.cxx:115
 AliAnalysisTaskJetsTM.cxx:116
 AliAnalysisTaskJetsTM.cxx:117
 AliAnalysisTaskJetsTM.cxx:118
 AliAnalysisTaskJetsTM.cxx:119
 AliAnalysisTaskJetsTM.cxx:120
 AliAnalysisTaskJetsTM.cxx:121
 AliAnalysisTaskJetsTM.cxx:122
 AliAnalysisTaskJetsTM.cxx:123
 AliAnalysisTaskJetsTM.cxx:124
 AliAnalysisTaskJetsTM.cxx:125
 AliAnalysisTaskJetsTM.cxx:126
 AliAnalysisTaskJetsTM.cxx:127
 AliAnalysisTaskJetsTM.cxx:128
 AliAnalysisTaskJetsTM.cxx:129
 AliAnalysisTaskJetsTM.cxx:130
 AliAnalysisTaskJetsTM.cxx:131
 AliAnalysisTaskJetsTM.cxx:132
 AliAnalysisTaskJetsTM.cxx:133
 AliAnalysisTaskJetsTM.cxx:134
 AliAnalysisTaskJetsTM.cxx:135
 AliAnalysisTaskJetsTM.cxx:136
 AliAnalysisTaskJetsTM.cxx:137
 AliAnalysisTaskJetsTM.cxx:138
 AliAnalysisTaskJetsTM.cxx:139
 AliAnalysisTaskJetsTM.cxx:140
 AliAnalysisTaskJetsTM.cxx:141
 AliAnalysisTaskJetsTM.cxx:142
 AliAnalysisTaskJetsTM.cxx:143
 AliAnalysisTaskJetsTM.cxx:144
 AliAnalysisTaskJetsTM.cxx:145
 AliAnalysisTaskJetsTM.cxx:146
 AliAnalysisTaskJetsTM.cxx:147
 AliAnalysisTaskJetsTM.cxx:148
 AliAnalysisTaskJetsTM.cxx:149
 AliAnalysisTaskJetsTM.cxx:150
 AliAnalysisTaskJetsTM.cxx:151
 AliAnalysisTaskJetsTM.cxx:152
 AliAnalysisTaskJetsTM.cxx:153
 AliAnalysisTaskJetsTM.cxx:154
 AliAnalysisTaskJetsTM.cxx:155
 AliAnalysisTaskJetsTM.cxx:156
 AliAnalysisTaskJetsTM.cxx:157
 AliAnalysisTaskJetsTM.cxx:158
 AliAnalysisTaskJetsTM.cxx:159
 AliAnalysisTaskJetsTM.cxx:160
 AliAnalysisTaskJetsTM.cxx:161
 AliAnalysisTaskJetsTM.cxx:162
 AliAnalysisTaskJetsTM.cxx:163
 AliAnalysisTaskJetsTM.cxx:164
 AliAnalysisTaskJetsTM.cxx:165
 AliAnalysisTaskJetsTM.cxx:166
 AliAnalysisTaskJetsTM.cxx:167
 AliAnalysisTaskJetsTM.cxx:168
 AliAnalysisTaskJetsTM.cxx:169
 AliAnalysisTaskJetsTM.cxx:170
 AliAnalysisTaskJetsTM.cxx:171
 AliAnalysisTaskJetsTM.cxx:172
 AliAnalysisTaskJetsTM.cxx:173
 AliAnalysisTaskJetsTM.cxx:174
 AliAnalysisTaskJetsTM.cxx:175
 AliAnalysisTaskJetsTM.cxx:176
 AliAnalysisTaskJetsTM.cxx:177
 AliAnalysisTaskJetsTM.cxx:178
 AliAnalysisTaskJetsTM.cxx:179
 AliAnalysisTaskJetsTM.cxx:180
 AliAnalysisTaskJetsTM.cxx:181
 AliAnalysisTaskJetsTM.cxx:182
 AliAnalysisTaskJetsTM.cxx:183
 AliAnalysisTaskJetsTM.cxx:184
 AliAnalysisTaskJetsTM.cxx:185
 AliAnalysisTaskJetsTM.cxx:186
 AliAnalysisTaskJetsTM.cxx:187
 AliAnalysisTaskJetsTM.cxx:188
 AliAnalysisTaskJetsTM.cxx:189
 AliAnalysisTaskJetsTM.cxx:190
 AliAnalysisTaskJetsTM.cxx:191
 AliAnalysisTaskJetsTM.cxx:192
 AliAnalysisTaskJetsTM.cxx:193
 AliAnalysisTaskJetsTM.cxx:194
 AliAnalysisTaskJetsTM.cxx:195
 AliAnalysisTaskJetsTM.cxx:196
 AliAnalysisTaskJetsTM.cxx:197
 AliAnalysisTaskJetsTM.cxx:198
 AliAnalysisTaskJetsTM.cxx:199
 AliAnalysisTaskJetsTM.cxx:200
 AliAnalysisTaskJetsTM.cxx:201
 AliAnalysisTaskJetsTM.cxx:202
 AliAnalysisTaskJetsTM.cxx:203
 AliAnalysisTaskJetsTM.cxx:204
 AliAnalysisTaskJetsTM.cxx:205
 AliAnalysisTaskJetsTM.cxx:206
 AliAnalysisTaskJetsTM.cxx:207
 AliAnalysisTaskJetsTM.cxx:208
 AliAnalysisTaskJetsTM.cxx:209
 AliAnalysisTaskJetsTM.cxx:210
 AliAnalysisTaskJetsTM.cxx:211
 AliAnalysisTaskJetsTM.cxx:212
 AliAnalysisTaskJetsTM.cxx:213
 AliAnalysisTaskJetsTM.cxx:214
 AliAnalysisTaskJetsTM.cxx:215
 AliAnalysisTaskJetsTM.cxx:216
 AliAnalysisTaskJetsTM.cxx:217
 AliAnalysisTaskJetsTM.cxx:218
 AliAnalysisTaskJetsTM.cxx:219
 AliAnalysisTaskJetsTM.cxx:220
 AliAnalysisTaskJetsTM.cxx:221
 AliAnalysisTaskJetsTM.cxx:222
 AliAnalysisTaskJetsTM.cxx:223
 AliAnalysisTaskJetsTM.cxx:224
 AliAnalysisTaskJetsTM.cxx:225
 AliAnalysisTaskJetsTM.cxx:226
 AliAnalysisTaskJetsTM.cxx:227
 AliAnalysisTaskJetsTM.cxx:228
 AliAnalysisTaskJetsTM.cxx:229
 AliAnalysisTaskJetsTM.cxx:230
 AliAnalysisTaskJetsTM.cxx:231
 AliAnalysisTaskJetsTM.cxx:232
 AliAnalysisTaskJetsTM.cxx:233
 AliAnalysisTaskJetsTM.cxx:234
 AliAnalysisTaskJetsTM.cxx:235
 AliAnalysisTaskJetsTM.cxx:236
 AliAnalysisTaskJetsTM.cxx:237
 AliAnalysisTaskJetsTM.cxx:238
 AliAnalysisTaskJetsTM.cxx:239
 AliAnalysisTaskJetsTM.cxx:240
 AliAnalysisTaskJetsTM.cxx:241
 AliAnalysisTaskJetsTM.cxx:242
 AliAnalysisTaskJetsTM.cxx:243
 AliAnalysisTaskJetsTM.cxx:244
 AliAnalysisTaskJetsTM.cxx:245
 AliAnalysisTaskJetsTM.cxx:246
 AliAnalysisTaskJetsTM.cxx:247
 AliAnalysisTaskJetsTM.cxx:248
 AliAnalysisTaskJetsTM.cxx:249
 AliAnalysisTaskJetsTM.cxx:250
 AliAnalysisTaskJetsTM.cxx:251
 AliAnalysisTaskJetsTM.cxx:252
 AliAnalysisTaskJetsTM.cxx:253
 AliAnalysisTaskJetsTM.cxx:254
 AliAnalysisTaskJetsTM.cxx:255
 AliAnalysisTaskJetsTM.cxx:256
 AliAnalysisTaskJetsTM.cxx:257
 AliAnalysisTaskJetsTM.cxx:258
 AliAnalysisTaskJetsTM.cxx:259
 AliAnalysisTaskJetsTM.cxx:260
 AliAnalysisTaskJetsTM.cxx:261
 AliAnalysisTaskJetsTM.cxx:262
 AliAnalysisTaskJetsTM.cxx:263
 AliAnalysisTaskJetsTM.cxx:264
 AliAnalysisTaskJetsTM.cxx:265
 AliAnalysisTaskJetsTM.cxx:266
 AliAnalysisTaskJetsTM.cxx:267
 AliAnalysisTaskJetsTM.cxx:268
 AliAnalysisTaskJetsTM.cxx:269
 AliAnalysisTaskJetsTM.cxx:270
 AliAnalysisTaskJetsTM.cxx:271
 AliAnalysisTaskJetsTM.cxx:272
 AliAnalysisTaskJetsTM.cxx:273
 AliAnalysisTaskJetsTM.cxx:274
 AliAnalysisTaskJetsTM.cxx:275
 AliAnalysisTaskJetsTM.cxx:276
 AliAnalysisTaskJetsTM.cxx:277
 AliAnalysisTaskJetsTM.cxx:278
 AliAnalysisTaskJetsTM.cxx:279
 AliAnalysisTaskJetsTM.cxx:280
 AliAnalysisTaskJetsTM.cxx:281
 AliAnalysisTaskJetsTM.cxx:282
 AliAnalysisTaskJetsTM.cxx:283