Sets the branch name of the track data which should be analyzed. 
Analyses the track data and assigns quality indicator to track. Quality indicators: 1 : Not assigned 2 : All hits of the MC track were found and no additional once 3 : Some hits of the MC track were found and no additional once 4 : 70 % of all hits found belong to this MC track 
  135         std::vector<std::pair<TLorentzVector, int> > result;
 
  137         if (second.size() == 0) 
return result;
 
  138         for (
size_t outer = 0; outer < first.size(); outer++){
 
  140                 for (
size_t inner1 = 0; inner1 < (second.size() - 1); inner1++){
 
  143                         for (
size_t inner2 = inner1 + 1; inner2 < second.size(); inner2++){
 
  145                                 PndTrack* pi1Track = second[inner1];
 
  146                                 PndTrack* pi2Track = second[inner2];
 
  148                                 std::cout << 
"KTrack: " << kTrack->GetLinksWithType(FairRootManager::Instance()->GetBranchId(
"MCTrack")) << 
" " << std::endl;
 
  149                                 std::cout << 
"pi1Track: " << pi1Track->GetLinksWithType(FairRootManager::Instance()->GetBranchId(
"MCTrack")) << 
" " << std::endl;
 
  150                                 std::cout << 
"pi2Track: " << pi2Track->GetLinksWithType(FairRootManager::Instance()->GetBranchId(
"MCTrack")) << 
" " << std::endl;
 
  152                                 FairMultiLinkedData kTrackLinks = kTrack->GetLinksWithType(FairRootManager::Instance()->GetBranchId(
"MCTrack"));
 
  153                                 FairMultiLinkedData pi1Links =  pi1Track->GetLinksWithType(FairRootManager::Instance()->GetBranchId(
"MCTrack"));
 
  154                                 FairMultiLinkedData pi2Links = pi2Track->GetLinksWithType(FairRootManager::Instance()->GetBranchId(
"MCTrack"));
 
  159                                 for (
int i = 0; 
i < kTrackLinks.GetNLinks(); 
i++){
 
  160                                         if (kTrackLinks.GetLink(
i).GetWeight() > countK){
 
  161                                                 countK = kTrackLinks.GetLink(
i).GetWeight();
 
  163                                                 kMcId = kTrackLinks.GetLink(
i).GetIndex();
 
  170                                 for (
int i = 0; 
i < pi1Links.GetNLinks(); 
i++){
 
  171                                         if (pi1Links.GetLink(
i).GetWeight() > countPi){
 
  172                                                 countPi = pi1Links.GetLink(
i).GetWeight();
 
  174                                                 pi1McId = pi1Links.GetLink(
i).GetIndex();
 
  181                                 for (
int i = 0; 
i < pi2Links.GetNLinks(); 
i++){
 
  182                                         if (pi2Links.GetLink(
i).GetWeight() > countPi){
 
  183                                                 countPi = pi2Links.GetLink(
i).GetWeight();
 
  185                                                 pi2McId = pi2Links.GetLink(
i).GetIndex();
 
  194                                 TVector3 piMomOrig = pi1Track->
GetParamFirst().GetMomentum();
 
  195                                 TVector3 pi2MomOrig = pi2Track->
GetParamFirst().GetMomentum();
 
  201                                 TLorentzVector K, pi1, pi2, D;
 
  203                                 K.SetXYZM(kMom.X(), kMom.Y(), kMom.Z(), TDatabasePDG::Instance()->GetParticle(321)->Mass());
 
  204                                 pi1.SetXYZM(piMom.X(), piMom.Y(), piMom.Z(), TDatabasePDG::Instance()->GetParticle(211)->Mass());
 
  205                                 pi2.SetXYZM(pi2Mom.X(), pi2Mom.Y(), pi2Mom.Z(), TDatabasePDG::Instance()->GetParticle(211)->Mass());
 
  208                                 std::cout << 
"D: " << D.Px() << 
"/" << D.Py() << 
"/" << D.Pz() << 
" " << D.M() << std::endl;
 
  213                                                         std::cout << 
"D+ Match!" << std::endl;
 
  217                                         else if (pi1McId == 5){
 
  219                                                         std::cout << 
"D+ Match!" << std::endl;
 
  227                                                         std::cout << 
"D- Match!" << std::endl;
 
  231                                         else if (pi1McId == 8){
 
  233                                                         std::cout << 
"D- Match!" << std::endl;
 
  239                                 std::cout << 
"Created D Meson: " << matchIndex << std::endl;
 
  240                                 result.push_back(std::make_pair(D, matchIndex));
 
TVector3 CorrectTrackParForPrimaryVertex(FairTrackParP input)
FairTrackParP GetParamFirst()