//____________________________________________________________________
//
// Phi -> K-Plus + K-Minus
// 
//  
// Author: Sophia Schade<mailto: schade@physik.hu-berlin.de>
// Update: $Id: AtlPhiDecayKK.cxx,v 1.3 2010/05/18 10:07:00 schade Exp $
// Copyright: 2010 (C) Sophia Schade 
//
#ifndef ATLAS_AtlPhiDecayKK
#include <AtlPhiDecayKK.h>
#endif
#include <iostream>

using namespace std;

#ifndef __CINT__
ClassImp(AtlPhiDecayKK);
#endif

//____________________________________________________________________

AtlPhiDecayKK::AtlPhiDecayKK() {
  //
  // Default constructor
  //
        
}

//____________________________________________________________________

AtlPhiDecayKK::AtlPhiDecayKK(Int_t Id, Float_t Px, Float_t Py, Float_t Pz,
			     Float_t E, AtlIDTrack *KPlus, AtlIDTrack *KMinus,
			     HepVertex *DecayVtx, HepVertex *PrimaryVtx,
			     HepParticle ReFitKPlus, HepParticle ReFitKMinus) :
    Hep2BodyDecay(Id, Px, Py, Pz, E, (TObject*)KPlus, (TObject*)KMinus,
		  DecayVtx, PrimaryVtx, ReFitKPlus, ReFitKMinus) {
    //
    // Normal constructor
    //
    fPdgCode = 333 ;
    fAngle   = KPlus->P().Angle(KMinus->P());
}

//____________________________________________________________________


AtlPhiDecayKK::~AtlPhiDecayKK(){
    //
    // Default destructor
    //
  
}


//____________________________________________________________________

void AtlPhiDecayKK::Clear(Option_t *option) {
    //
    // Clear this object
    //
    Hep2BodyDecay::Clear(option);
    fAngle     = 0;
}

//____________________________________________________________________

void AtlPhiDecayKK::Print(Option_t *option) {
    //
    // Print Phi decay information
    //
    // Options available:
    //    "VTX" - Print information about vtx and outgoing tracks
    //
    TString opt = option;
    opt.ToLower();

    // Print header
    if ( !opt.Contains("nohead") ) PrintHeader();

    // Print
    cout.setf(ios::showpoint | ios::fixed, ios::floatfield);
    cout.precision(3);
    cout.width(4);  cout << fId;
    cout.width(7);  cout << Pmag();
    cout.width(10); cout << M("rec");
    cout.width(12); cout << Theta()*180/TMath::Pi();
    cout.width(13); cout << Phi()*180/TMath::Pi();
    cout.width(10); cout << Eta();
    cout.width(8);  cout << GetKPlus()->GetId();
    cout.width(5);  cout << GetKMinus()->GetId();
    cout << endl;

    // Print footer
    if ( !opt.Contains("nohead") ) PrintFooter();

    // Print vertex info
    if ( opt.Contains("vtx") || opt.Contains("all") ) {
	cout << endl << "Phi Decay vertex:" << endl;
	GetVtx()->Print("daughters");
    }
}

//____________________________________________________________________

void AtlPhiDecayKK::PrintHeader() {
    //
    // Print information header
    //
    cout << "------------------------------------------------------------------------"
	 << endl
	 << " Id   P (GeV)  Mrec (GeV) Theta (deg)  Phi (deg)     Eta      K+    K-"
	 << endl
	 << "------------------------------------------------------------------------"
	 << endl;
}

//____________________________________________________________________

void AtlPhiDecayKK::PrintFooter() {
    //
    // Print footer
    //
    cout << "------------------------------------------------------------------------"
	 << endl;
}
 AtlPhiDecayKK.cxx:1
 AtlPhiDecayKK.cxx:2
 AtlPhiDecayKK.cxx:3
 AtlPhiDecayKK.cxx:4
 AtlPhiDecayKK.cxx:5
 AtlPhiDecayKK.cxx:6
 AtlPhiDecayKK.cxx:7
 AtlPhiDecayKK.cxx:8
 AtlPhiDecayKK.cxx:9
 AtlPhiDecayKK.cxx:10
 AtlPhiDecayKK.cxx:11
 AtlPhiDecayKK.cxx:12
 AtlPhiDecayKK.cxx:13
 AtlPhiDecayKK.cxx:14
 AtlPhiDecayKK.cxx:15
 AtlPhiDecayKK.cxx:16
 AtlPhiDecayKK.cxx:17
 AtlPhiDecayKK.cxx:18
 AtlPhiDecayKK.cxx:19
 AtlPhiDecayKK.cxx:20
 AtlPhiDecayKK.cxx:21
 AtlPhiDecayKK.cxx:22
 AtlPhiDecayKK.cxx:23
 AtlPhiDecayKK.cxx:24
 AtlPhiDecayKK.cxx:25
 AtlPhiDecayKK.cxx:26
 AtlPhiDecayKK.cxx:27
 AtlPhiDecayKK.cxx:28
 AtlPhiDecayKK.cxx:29
 AtlPhiDecayKK.cxx:30
 AtlPhiDecayKK.cxx:31
 AtlPhiDecayKK.cxx:32
 AtlPhiDecayKK.cxx:33
 AtlPhiDecayKK.cxx:34
 AtlPhiDecayKK.cxx:35
 AtlPhiDecayKK.cxx:36
 AtlPhiDecayKK.cxx:37
 AtlPhiDecayKK.cxx:38
 AtlPhiDecayKK.cxx:39
 AtlPhiDecayKK.cxx:40
 AtlPhiDecayKK.cxx:41
 AtlPhiDecayKK.cxx:42
 AtlPhiDecayKK.cxx:43
 AtlPhiDecayKK.cxx:44
 AtlPhiDecayKK.cxx:45
 AtlPhiDecayKK.cxx:46
 AtlPhiDecayKK.cxx:47
 AtlPhiDecayKK.cxx:48
 AtlPhiDecayKK.cxx:49
 AtlPhiDecayKK.cxx:50
 AtlPhiDecayKK.cxx:51
 AtlPhiDecayKK.cxx:52
 AtlPhiDecayKK.cxx:53
 AtlPhiDecayKK.cxx:54
 AtlPhiDecayKK.cxx:55
 AtlPhiDecayKK.cxx:56
 AtlPhiDecayKK.cxx:57
 AtlPhiDecayKK.cxx:58
 AtlPhiDecayKK.cxx:59
 AtlPhiDecayKK.cxx:60
 AtlPhiDecayKK.cxx:61
 AtlPhiDecayKK.cxx:62
 AtlPhiDecayKK.cxx:63
 AtlPhiDecayKK.cxx:64
 AtlPhiDecayKK.cxx:65
 AtlPhiDecayKK.cxx:66
 AtlPhiDecayKK.cxx:67
 AtlPhiDecayKK.cxx:68
 AtlPhiDecayKK.cxx:69
 AtlPhiDecayKK.cxx:70
 AtlPhiDecayKK.cxx:71
 AtlPhiDecayKK.cxx:72
 AtlPhiDecayKK.cxx:73
 AtlPhiDecayKK.cxx:74
 AtlPhiDecayKK.cxx:75
 AtlPhiDecayKK.cxx:76
 AtlPhiDecayKK.cxx:77
 AtlPhiDecayKK.cxx:78
 AtlPhiDecayKK.cxx:79
 AtlPhiDecayKK.cxx:80
 AtlPhiDecayKK.cxx:81
 AtlPhiDecayKK.cxx:82
 AtlPhiDecayKK.cxx:83
 AtlPhiDecayKK.cxx:84
 AtlPhiDecayKK.cxx:85
 AtlPhiDecayKK.cxx:86
 AtlPhiDecayKK.cxx:87
 AtlPhiDecayKK.cxx:88
 AtlPhiDecayKK.cxx:89
 AtlPhiDecayKK.cxx:90
 AtlPhiDecayKK.cxx:91
 AtlPhiDecayKK.cxx:92
 AtlPhiDecayKK.cxx:93
 AtlPhiDecayKK.cxx:94
 AtlPhiDecayKK.cxx:95
 AtlPhiDecayKK.cxx:96
 AtlPhiDecayKK.cxx:97
 AtlPhiDecayKK.cxx:98
 AtlPhiDecayKK.cxx:99
 AtlPhiDecayKK.cxx:100
 AtlPhiDecayKK.cxx:101
 AtlPhiDecayKK.cxx:102
 AtlPhiDecayKK.cxx:103
 AtlPhiDecayKK.cxx:104
 AtlPhiDecayKK.cxx:105
 AtlPhiDecayKK.cxx:106
 AtlPhiDecayKK.cxx:107
 AtlPhiDecayKK.cxx:108
 AtlPhiDecayKK.cxx:109
 AtlPhiDecayKK.cxx:110
 AtlPhiDecayKK.cxx:111
 AtlPhiDecayKK.cxx:112
 AtlPhiDecayKK.cxx:113
 AtlPhiDecayKK.cxx:114
 AtlPhiDecayKK.cxx:115
 AtlPhiDecayKK.cxx:116
 AtlPhiDecayKK.cxx:117
 AtlPhiDecayKK.cxx:118
 AtlPhiDecayKK.cxx:119
 AtlPhiDecayKK.cxx:120
 AtlPhiDecayKK.cxx:121
 AtlPhiDecayKK.cxx:122
 AtlPhiDecayKK.cxx:123
 AtlPhiDecayKK.cxx:124
 AtlPhiDecayKK.cxx:125
 AtlPhiDecayKK.cxx:126