//*-- Copyright © ALICE HLT Group
#include "AliL3StandardIncludes.h"
-
+#include "AliL3RootTypes.h"
#include "AliL3Logging.h"
-#include "AliL3ConfMapFit.h"
#include "AliL3Vertex.h"
#include "AliL3ConfMapTrack.h"
#include "AliL3ConfMapPoint.h"
#include "AliL3Transform.h"
+#include "AliL3ConfMapFit.h"
/** \class AliL3ConfMapFit
<pre>
</pre>
*/
+#if __GNUC__ >= 3
+using namespace std;
+#endif
+
ClassImp(AliL3ConfMapFit)
Int_t AliL3ConfMapFit::FitHelix()
{
+ //fit the helix
if(FitCircle())
{
LOG(AliL3Log::kError,"AliL3ConfMapFit::FitHelix","TrackFit")<<AliL3Log::kDec<<
for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())
{
co++;
- AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->currentHit;
+ AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
cHit->SetXYWeight( 1./ (Double_t)(cHit->GetXerr()*cHit->GetXerr() + cHit->GetYerr()*cHit->GetYerr()) );
wsum += cHit->GetXYWeight() ;
xav += cHit->GetXYWeight() * cHit->GetX() ;
for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())
{
//AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint *)hits->At(hit_counter);
- AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->currentHit;
+ AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
xi = cHit->GetX() - xav ;
yi = cHit->GetY() - yav ;
xxav += xi * xi * cHit->GetXYWeight() ;
for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())
{
//AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)hits->At(hit_counter);
- AliL3ConfMapPoint* cHit = (AliL3ConfMapPoint*)fTrack->currentHit;
+ AliL3ConfMapPoint* cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
xold = cHit->GetX() - xav ;
yold = cHit->GetY() - yav ;
fTrack->SetCharge(q);
-//
-// Get other track parameters
-//
- Double_t x0, y0,phi0,r0,psi,pt ;
- if ( fTrack->ComesFromMainVertex() == true )
- {
- //flag = 1 ; // primary track flag
- x0 = fVertex->GetX() ;
- y0 = fVertex->GetY() ;
- phi0 = fVertex->GetPhi() ;
- r0 = fVertex->GetR() ;
- fTrack->SetPhi0(phi0);
- fTrack->SetR0(r0);
- }
- else
- {
- //AliL3ConfMapPoint *lHit = (AliL3ConfMapPoint*)hits->Last();
- AliL3ConfMapPoint *lHit = (AliL3ConfMapPoint*)fTrack->lastHit;
- //flag = 0 ; // primary track flag
- x0 = lHit->GetX() ;
- y0 = lHit->GetY() ;
- phi0 = atan2(lHit->GetY(),lHit->GetX());
- if ( phi0 < 0 ) phi0 += AliL3Transform::TwoPi();
- r0 = sqrt ( lHit->GetX() * lHit->GetX() + lHit->GetY() * lHit->GetY() ) ;
- fTrack->SetPhi0(phi0);
- fTrack->SetR0(r0);
-
- }
//Set the first point on the track to the space point coordinates of the innermost track
//This will be updated to lie on the fit later on (AliL3Track::UpdateToFirstPoint).
+ Double_t x0,y0,psi,pt ;
+ AliL3ConfMapPoint *lHit = (AliL3ConfMapPoint*)fTrack->GetLastHit();
+ x0 = lHit->GetX();
+ y0 = lHit->GetY();
fTrack->SetFirstPoint(x0,y0,0); //Z-value is set in FitLine
psi = (Double_t)atan2(bcent-y0,acent-x0) ;
//TObjArray *hits = fTrack->GetHits();
//Int_t num_of_hits = fTrack->GetNumberOfPoints();
- if ( fTrack->ComesFromMainVertex() == true )
+ if (0)// fTrack->ComesFromMainVertex() == true )
{
- dx = ((AliL3ConfMapPoint*)fTrack->firstHit)->GetX() - fVertex->GetX();
- dy = ((AliL3ConfMapPoint*)fTrack->firstHit)->GetY() - fVertex->GetY() ;
+ dx = ((AliL3ConfMapPoint*)fTrack->GetFirstHit())->GetX() - fVertex->GetX();
+ dy = ((AliL3ConfMapPoint*)fTrack->GetFirstHit())->GetY() - fVertex->GetY() ;
}
else
{
- dx = ((AliL3ConfMapPoint *)fTrack->firstHit)->GetX() - ((AliL3ConfMapPoint *)fTrack->lastHit)->GetX() ;
- dy = ((AliL3ConfMapPoint *)fTrack->firstHit)->GetY() - ((AliL3ConfMapPoint *)fTrack->lastHit)->GetY() ;
+ dx = ((AliL3ConfMapPoint *)fTrack->GetFirstHit())->GetX() - ((AliL3ConfMapPoint *)fTrack->GetLastHit())->GetX() ;
+ dy = ((AliL3ConfMapPoint *)fTrack->GetFirstHit())->GetY() - ((AliL3ConfMapPoint *)fTrack->GetLastHit())->GetY() ;
//dx = ((AliL3ConfMapPoint *)hits->First())->GetX() - ((AliL3ConfMapPoint *)hits->Last())->GetX() ;
//dy = ((AliL3ConfMapPoint *)hits->First())->GetY() - ((AliL3ConfMapPoint *)hits->Last())->GetY() ;
}
for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())
{
// AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)hits->At(hit_counter);
- AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->currentHit;
- // if ( currentHit != firstHit )
- if(cHit != fTrack->firstHit)// hits->First())
+ AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
+ // if ( GetCurrentHit() != GetFirstHit() )
+ if(cHit != fTrack->GetFirstHit())// hits->First())
{
dx = cHit->GetX() - previousHit->GetX() ;
dy = cHit->GetY() - previousHit->GetY() ;
for(fTrack->StartLoop(); fTrack->LoopDone(); fTrack->GetNextHit())
{
//AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)hits->At(hit_counter);
- AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->currentHit;
+ AliL3ConfMapPoint *cHit = (AliL3ConfMapPoint*)fTrack->GetCurrentHit();
r1 = cHit->GetZ() - tanl * cHit->GetS() - z0 ;
chi2 += (Double_t) ( (Double_t)cHit->GetZWeight() * (r1 * r1) );
}