FairRoot/PandaRoot
PndD+D-.C
Go to the documentation of this file.
1 // macro for the PndJRGen event generator
2 // modified by A.Galoyan
3 
4 {
5  // load shared libraries
6  gROOT->Reset();
7  gSystem->Load("libPhysics.so");
8  gSystem->Load("libEG.so");
9  gSystem->Load("lib/libPndJRGen.so");
10 
11 
12 //gRandom.SetSeed(123456);
13 
14 // use cm not mm
15 if (!(TDatabasePDG::Instance())->GetParticle(997))
16  (TDatabasePDG::Instance())->AddParticle("D+ -> K- pi+ pi+","Title",1.869,0,0.197/317/1e10,0,"Unknown",997);
17 
18 Int_t array[3]={-321,211,211};
19 ((TDatabasePDG::Instance())->GetParticle(997))-> AddDecayChannel(1, 1.0, 3, array);
20 
21 if (!(TDatabasePDG::Instance())->GetParticle(998))
22  (TDatabasePDG::Instance())->AddParticle("D- -> K+ pi- pi-","Title",1.869,0,0.197/317/1e10,0,"Unknown",998);
23 
24 Int_t array[3]={321,-211,-211};
25 ((TDatabasePDG::Instance())->GetParticle(998))-> AddDecayChannel(1, 1.0, 3, array);
26 
27 /*
28  { // test code
29 TLorentzVector Vertex, Beam, Target, s;
30 Beam. SetXYZM(0.,0.,1.869,1.869);
31 TVector3 VtxRes(0,0,0); // what target smearing do you want???
32 Vertex.SetXYZT(0,0,0,0); // zero by default
33 TParticle BeamTarget(998,1,0,0,0,0,Beam,Vertex);
34 PndReaction reaction( BeamTarget, VtxRes, "Gen_DpDm.root");
35 reaction.Loop(1000);
36  }
37 */
38 
39 if (!(TDatabasePDG::Instance())->GetParticle(999))
40  (TDatabasePDG::Instance())->AddParticle("BeamTarget","Title",4.0,0,4.0,0,"Unknown",999);
41 
42 
43 Int_t array[2]={997,998};
44 ((TDatabasePDG::Instance())->GetParticle(999))-> AddDecayChannel(1, 1.0, 2, array);
45 
46 TLorentzVector Vertex, Beam, Target, s;
47 Beam. SetXYZM(0.,0.,6.6,((TDatabasePDG::Instance()) -> GetParticle(-2212)) -> Mass());
48 Target.SetXYZM(0.,0.,0.,((TDatabasePDG::Instance()) -> GetParticle( 2212)) -> Mass());
49 s = Beam+Target;
50 
51  cout << s.M() << endl;
52 
53 // mean location of the target
54 //Vertex.SetXYZT(0,0,0,0); // zero by default
55 
56 // smearing of the primary vertex (Gauss with the above mean, and this sigma)
57 //TVector3 VtxRes(.1,.1,.2); // what target smearing do you want???
58 TVector3 VtxRes(0,0,0); // what target smearing do you want???
59 
60 TParticle BeamTarget(999,1,0,0,0,0,s,Vertex);
61 
62 PndReaction reaction( BeamTarget, VtxRes );
63 
64  reaction.Loop(10000);
65 
66 }
TLorentzVector Beam
Definition: PndD+D-.C:46
PndReaction reaction(BeamTarget, VtxRes,"Gen_2K02Pi0.root")
TLorentzVector Target
Definition: PndD+D-.C:46
TLorentzVector Vertex
Definition: PndD+D-.C:46
TLorentzVector s
Definition: PndD+D-.C:46
TParticle BeamTarget(999, 1, 0, 0, 0, 0, s, Vertex)
Beam SetXYZM(0., 0., 6.6,((TDatabasePDG::Instance()) -> GetParticle(-2212)) -> Mass())
TVector3 VtxRes(.1,.1,.2)