]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWGCF/Correlations/JCORRAN/AliJJet.cxx
Merge branch 'master' of https://git.cern.ch/reps/AliRoot
[u/mrichter/AliRoot.git] / PWGCF / Correlations / JCORRAN / AliJJet.cxx
index 5d0803ebfce62a53190591965eb2fff52503e0df..034655e1813fc2cde74d003cbcf2bb9704d47e8c 100644 (file)
 
 AliJJet::AliJJet(): 
     AliJBaseTrack(), 
+    fLeadingTrackId(-1),
+    fLeadingTrackPt(-1),
+    fLeadingTrackE(-1),
+    fNConstituent(0),
     fArea(0),
     fConstituents()
 {;}
@@ -26,18 +30,30 @@ AliJJet::AliJJet():
 
 AliJJet::AliJJet(float px,float py, float pz, float e, Int_t id, Short_t ptype, Char_t charge):
     AliJBaseTrack( px, py, pz, e, id, ptype, charge ),
+    fLeadingTrackId(-1),
+    fLeadingTrackPt(-1),
+    fLeadingTrackE(-1),
+    fNConstituent(0),
     fArea(0),
     fConstituents()
 {;}
 
 AliJJet::AliJJet(const AliJJet& a):
     AliJBaseTrack( a ),
+    fLeadingTrackId( a.fLeadingTrackId),
+    fLeadingTrackPt( a.fLeadingTrackPt),
+    fLeadingTrackE( a.fLeadingTrackE),
+    fNConstituent(a.fNConstituent),
     fArea( a.fArea ),
     fConstituents( a.fConstituents )
 {;}
 
 AliJJet::AliJJet(const TLorentzVector & a):
     AliJBaseTrack( a ),
+    fLeadingTrackId(-1),
+    fLeadingTrackPt(-1),
+    fLeadingTrackE(-1),
+    fNConstituent(0),
     fArea(0),
     fConstituents()
 {;}
@@ -49,8 +65,38 @@ AliJJet& AliJJet::operator=(const AliJJet& trk){
     AliJBaseTrack::operator=(trk);
     fArea = trk.fArea;
     fConstituents = trk.fConstituents;
+    fLeadingTrackId = trk.fLeadingTrackId;
+    fLeadingTrackPt = trk.fLeadingTrackPt;
+    fLeadingTrackE = trk.fLeadingTrackE;
   }
   return *this;
 }
 
+void AliJJet::ReSum(){
+    TLorentzVector lv;
+    int lid = -1;
+    double lpt = 1e-10;
+    int lidE = -1;
+    double lE = 1e-10;
+    fNConstituent = fConstituents.GetEntriesFast();
+    for( int i=0;i<GetNConstituents();i++ ){
+        AliJBaseTrack * trk = (AliJBaseTrack*) fConstituents[i];
+        if( !trk ){ 
+            cout<<"DEBUG E1 : No trk in "<<endl;
+        continue;
+        }
+        TLorentzVector * v = (TLorentzVector*)fConstituents[i];
+        v->SetE( v->Perp() );
+        lv += *v;
+        double pt = trk->Pt();
+        if( pt > lpt ){lpt = pt;lid = i;}
+        double e = trk->E();
+        if( e > lE ){lE = e;lidE = i;}
+    }
+       fLeadingTrackId = lid;
+    fLeadingTrackPt = lpt;
+    fLeadingTrackE = lE;
+    TLorentzVector::operator=(lv);
+}
+
 ClassImp(AliJJet)