example macros to run on proof
[u/mrichter/AliRoot.git] / PWG2 / RESONANCES / AliRsnMiniParticle.cxx
1 //
2 // This object is used as lightweight temporary container
3 // of all information needed from any input object and 
4 // useful for resonance analysis.
5 // Lists of such objects are stored in a buffer, in order
6 // to allow an event mixing.
7 //
8
9 #include "AliRsnDaughter.h"
10 #include "AliRsnMiniParticle.h"
11
12 ClassImp(AliRsnMiniParticle)
13
14 //__________________________________________________________________________________________________
15 void AliRsnMiniParticle::CopyDaughter(AliRsnDaughter *daughter)
16 {
17 //
18 // Sets data members from the passed object
19 //
20
21    // reset what could not be initialized
22    fPDG = 0;
23    fMother = -1;
24    fMotherPDG = 0;
25    fCutBits = 0x0;
26    fPsim[0] = fPrec[0] = fPsim[1] = fPrec[1] = fPsim[2] = fPrec[2] = 0.0;
27
28    // charge
29    if (daughter->IsPos())
30       fCharge = '+';
31    else if (daughter->IsNeg())
32       fCharge = '-';
33    else
34       fCharge = '0';
35    
36    // rec info
37    if (daughter->GetRef()) {
38       fPrec[0] = daughter->GetRef()->Px();
39       fPrec[1] = daughter->GetRef()->Py();
40       fPrec[2] = daughter->GetRef()->Pz();
41    }
42    
43    // MC info
44    if (daughter->GetRefMC()) {
45       fPsim[0] = daughter->GetRefMC()->Px();
46       fPsim[1] = daughter->GetRefMC()->Py();
47       fPsim[2] = daughter->GetRefMC()->Pz();
48       fPDG = daughter->GetPDG();
49       fMother = daughter->GetMother();
50       fMotherPDG = daughter->GetMotherPDG();
51    }
52 }