FairRoot/PandaRoot
Pnd2DStar.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 
16 // create a new particle D0 to have only one decay branch
17 if (!(TDatabasePDG::Instance())->GetParticle(996))
18  (TDatabasePDG::Instance())->AddParticle("D0 -> K- pi+","Title",1.8645,0,0.197/123.7/1e10,0,"Unknown",996);
19 Int_t array[3]={-321,211};
20 ((TDatabasePDG::Instance())->GetParticle(996))-> AddDecayChannel(1, 1.0, 2, array);
21 
22 // D0bar
23 if (!(TDatabasePDG::Instance())->GetParticle(997))
24  (TDatabasePDG::Instance())->AddParticle("D0 -> K+ pi-","Title",1.8645,0,0.197/123.7/1e10,0,"Unknown",997);
25 Int_t array[3]={321,-211};
26 ((TDatabasePDG::Instance())->GetParticle(997))-> AddDecayChannel(1, 1.0, 2, array);
27 
28 // D*+
29 if (!(TDatabasePDG::Instance())->GetParticle(998))
30  (TDatabasePDG::Instance())->AddParticle("D*+ -> D0 pi+","Title",2.01,0,1e-15,0,"Unknown",998);
31 Int_t array[3]={996,211};
32 ((TDatabasePDG::Instance())->GetParticle(998))-> AddDecayChannel(1, 1.0, 2, array);
33 
34 // D*-
35 if (!(TDatabasePDG::Instance())->GetParticle(999))
36  (TDatabasePDG::Instance())->AddParticle("D*- -> D0bar pi-","Title",2.01,0,1e-15,0,"Unknown",999);
37 Int_t array[3]={997,-211};
38 ((TDatabasePDG::Instance())->GetParticle(999))-> AddDecayChannel(1, 1.0, 2, array);
39 
40 
41 
42 
43 
44 
45 if (!(TDatabasePDG::Instance())->GetParticle(995))
46  (TDatabasePDG::Instance())->AddParticle("BeamTarget","Title",4.0,0,4.0,0,"Unknown",995);
47 Int_t array[2]={998,999};
48 ((TDatabasePDG::Instance())->GetParticle(995))-> AddDecayChannel(1, 1.0, 2, array);
49 
50 TLorentzVector Vertex, Beam, Target, s;
51 Beam. SetXYZM(0.,0.,8,((TDatabasePDG::Instance()) -> GetParticle(-2212)) -> Mass());
52 Target.SetXYZM(0.,0.,0.,((TDatabasePDG::Instance()) -> GetParticle( 2212)) -> Mass());
53 s = Beam+Target;
54 
55  cout << s.M() << endl;
56 
57 // mean location of the target
58 //Vertex.SetXYZT(0,0,0,0); // zero by default
59 
60 // smearing of the primary vertex (Gauss with the above mean, and this sigma)
61 //TVector3 VtxRes(.1,.1,.2); // what target smearing do you want???
62 TVector3 VtxRes(0,0,0); // what target smearing do you want???
63 
64 TParticle BeamTarget(995,1,0,0,0,0,s,Vertex);
65 
66 PndReaction reaction( BeamTarget, VtxRes, "Gen_2DStar.root");
67 
68 reaction.UsePoleMass();
69 
70 
71  reaction.Loop(1001);
72 
73 }
PndReaction reaction(BeamTarget, VtxRes,"Gen_2K02Pi0.root")
TLorentzVector s
Definition: Pnd2DStar.C:50
TFile * Target
Definition: hadd.C:35
TLorentzVector Vertex
Definition: Pnd2DStar.C:50
TParticle BeamTarget(999, 1, 0, 0, 0, 0, s, Vertex)
Beam SetXYZM(0., 0., 8,((TDatabasePDG::Instance()) -> GetParticle(-2212)) -> Mass())
TLorentzVector Beam
Definition: Pnd2DStar.C:50
TVector3 VtxRes(.1,.1,.2)