AliJJet::AliJJet():
AliJBaseTrack(),
+ fLeadingTrackId(-1),
+ fLeadingTrackPt(-1),
+ fLeadingTrackE(-1),
+ fNConstituent(0),
fArea(0),
fConstituents()
{;}
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()
{;}
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)