]>
Commit | Line | Data |
---|---|---|
8bcc1321 | 1 | #include "AliHBTCorrFitFctn.h" |
2 | //____________________________________________________________ | |
3 | /////////////////////////////////////////////////////////////// | |
4 | // // | |
5 | // class AliHBTCorrFitFctn // | |
6 | // // | |
7 | // // | |
8 | /////////////////////////////////////////////////////////////// | |
9 | ||
8bcc1321 | 10 | ClassImp(AliHBTCorrFitFctn) |
11 | ||
12 | /*****************************************************************/ | |
13 | ||
14 | AliHBTCorrFitFctn::AliHBTCorrFitFctn(Int_t nbins, Double_t maxXval, Double_t minXval): | |
15 | AliHBTTwoPairFctn1D(nbins,maxXval,minXval), | |
16 | fNtuple(new TNtuple("pair", "pair", "px1:py1:pz1:e1:px2:py2:pz2:e2")), | |
17 | fNPairsFitArea(0), | |
18 | fNPairsNormArea(0) | |
19 | { | |
20 | //ctor | |
21 | fWriteNumAndDen = kTRUE;//change default behaviour | |
22 | Rename("wqinvcfCorrFit","Lednicky Weught Theoretical Q_{inv} Correlation Function"); | |
23 | } | |
24 | /*****************************************************************/ | |
25 | ||
26 | void AliHBTCorrFitFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) | |
27 | { | |
28 | //Fills the numerator using pair from the same event | |
55d46048 | 29 | // partpair = CheckPair(partpair); |
8bcc1321 | 30 | if(partpair == 0x0) return; |
0bb07108 | 31 | trackpair = CheckPair(trackpair); |
32 | if(trackpair == 0x0) return; | |
8bcc1321 | 33 | |
34 | Double_t q = trackpair->GetQInv(); | |
8bcc1321 | 35 | |
dd82cadc | 36 | Double_t weight = partpair->GetWeight(); |
0bb07108 | 37 | fNumerator->Fill(q,weight); |
38 | ||
8bcc1321 | 39 | |
8bcc1321 | 40 | } |
41 | /****************************************************************/ | |
42 | ||
43 | void AliHBTCorrFitFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair) | |
44 | { | |
45 | // Fills the denominator using mixed pairs | |
46 | trackpair = CheckPair(trackpair); | |
55d46048 | 47 | // partpair = CheckPair(partpair); |
8bcc1321 | 48 | if ( trackpair && partpair) |
387dd2d0 | 49 | { |
50 | Double_t q = trackpair->GetQInv(); | |
51 | ||
52 | Bool_t fill = kFALSE; | |
53 | ||
54 | if ( (q < 0.15) && (fNPairsFitArea < 2.e+5)) | |
55 | { | |
56 | fNPairsFitArea++; | |
57 | fill = kTRUE; | |
58 | } | |
59 | ||
60 | if ( (q > 0.15) && (q < 0.3) && (fNPairsFitArea < 1.e+5)) | |
61 | { | |
62 | fNPairsNormArea++; | |
63 | fill = kTRUE; | |
64 | } | |
65 | ||
66 | if (fill) | |
67 | { | |
68 | const AliVAODParticle& p1 = *(trackpair->Particle1()); | |
69 | const AliVAODParticle& p2 = *(trackpair->Particle2()); | |
70 | fNtuple->Fill(p1.Px(),p1.Py(),p1.Pz(),p1.E(), | |
71 | p2.Px(),p2.Py(),p2.Pz(),p2.E()); | |
72 | } | |
73 | ||
74 | fDenominator->Fill(q); | |
75 | } | |
8bcc1321 | 76 | } |
77 | /*****************************************************************/ | |
78 | ||
79 | TH1* AliHBTCorrFitFctn::GetResult() | |
80 | { | |
81 | //returns ratio of numerator and denominator | |
82 | return GetRatio(Scale()); | |
83 | } | |
84 | /**************************************************************/ | |
85 | ||
86 | void AliHBTCorrFitFctn::WriteFunction() | |
87 | { | |
88 | //writes a function | |
89 | AliHBTFunction::WriteFunction(); | |
90 | fNtuple->Write(0,TObject::kOverwrite); | |
91 | } |