Genfit initial detector plane [message #12550] |
Mon, 22 August 2011 16:14 |
StefanoSpataro
Messages: 2736 Registered: June 2005 Location: Torino
|
first-grade participant |
From: *17-79-r.retail.telecomitalia.it
|
|
Dear genfit experts,
I have one big doubt about the correct way to run the kalman inside the PndRecoKalmanTask.
As you know, the standard PR algorithms are providing a PndTrack object, which should be converted into a GFTrack in order to run the Kalman. In our case we are use GeaneTrackRep representation.
The way I am using to convert the track
(GenfitTools/recotasks/PndRecoKalmanFit.cxx) is the following:
GFAbsTrackRep* rep = 0;
GFDetPlane start_pl(StartPos, TVector3(1.,0.,0.), TVector3(0.,1.,0.));
GeaneTrackRep *grep = new GeaneTrackRep(fPro,
start_pl,StartMom,
StartPosErr,StartMomErr,
fCharge,PDGCode);
grep->setPropDir(1);
rep = grep;
GFTrack* trk= new GFTrack(rep);
PndTrackCand trackCand = tBefore->GetTrackCand();
trk->setCandidate(*PndTrackCand2GenfitTrackCand(&trackCand));
My main concern is about the starting point to use, i.e. start_pl StartMom StartPosErr StartMomErr. I can see two possible approaches:
a) The start detector plane is taken at the IP after a backward extrapolation (in this case XY)
b) The start detector plane is at the first point of the track
In the first case we have a back extrapolation, and maybe errors are becoming larger due to the geane propagation... not sure what is happening for secondaries.
In the second case, I am wondering if genfit uses the first hit as fit point or skip it, in theory we should have a point less, am I right? In particular, if the first hit is "inside" the first TpcCluster/SttHit, I am wondering how could the first extrapolation be done...
Another point is about the orientation of the detector plane. In general, by default, I am using the PCA to 0,0,0 and XY as plane..but I would like to understand if maybe the more correct way could to a plane perpendicular to the track direction.. or maybe this does not change the final results (or maybe this does change the way to calculate initial errors).
Could you please clarify which should be the most correct way?
Regards
|
|
|