, fVerbosity(0)
, fESD(NULL)
, fSolenoidBz(-5.00668)
+ , fFillVtxConstrainedTracks( 0 )
{
// see header file for class documentation
// or
HLTInfo("Magnetic Field set to: %s", ((TObjString*)pTokens->At(i))->GetString().Data());
fSolenoidBz=((TObjString*)pTokens->At(i))->GetString().Atof();
continue;
+ }
+ else if (argument.CompareTo("-fitTracks2Vertex")==0) {
+ if ((bMissingParam=(++i>=pTokens->GetEntries()))) break;
+ HLTInfo("Filling of vertex constrained tracks is set set to: %s", ((TObjString*)pTokens->At(i))->GetString().Data());
+ fFillVtxConstrainedTracks=((TObjString*)pTokens->At(i))->GetString().Atoi();
+ continue;
} else {
HLTError("unknown argument %s", argument.Data());
iResult=-EINVAL;
vertexer.SetESD( pESD );
vertexer.FindPrimaryVertex();
vertexer.FindV0s();
+
+ // relate the tracks to vertex
+ if( fFillVtxConstrainedTracks ){
+ for( Int_t i = 0; i<pESD->GetNumberOfTracks(); i++){
+ if( !vertexer.TrackInfos()[i].fPrimUsedFlag ) continue;
+ pESD->GetTrack(i)->RelateToVertex( pESD->GetPrimaryVertex(), fESD->GetMagneticField(),5. );
+ }
+ }
if (iAddedDataBlocks>0 && pTree) {
pTree->Fill();
/// solenoid b field
Double_t fSolenoidBz; //! transient
+ /// fill track parameters, constrained to vertex
+ Bool_t fFillVtxConstrainedTracks; //! transient
+
ClassDef(AliHLTGlobalEsdConverterComponent, 0)
};
#endif
delete[] fTrackInfos;
fESD = event;
- std::cout<<"vertexer field = "<<-fESD->GetMagneticField() <<std::endl;
+
AliKFParticle::SetField( -fESD->GetMagneticField() );
Int_t nESDTracks=event->GetNumberOfTracks();
if( fPrimaryVtx.GetNContributors()>3 ){
AliESDVertex vESD( fPrimaryVtx.Parameters(), fPrimaryVtx.CovarianceMatrix(), fPrimaryVtx.GetChi2(), fPrimaryVtx.GetNContributors() );
fESD->SetPrimaryVertexTracks( &vESD );
+ } else {
+ for( Int_t i = 0; i<nTracks; i++)
+ fTrackInfos[i].fPrimUsedFlag = 0;
}
+
+
delete[] vSelected;
delete[] vIndex;
delete[] vFlag;
virtual ~AliHLTVertexer(){ delete[] fTrackInfos; }
void SetESD( AliESDEvent *event );
-
void FindPrimaryVertex();
void FindV0s();
+ const AliESDTrackInfo *TrackInfos(){ return fTrackInfos; }
private: