+++ /dev/null
-#include "AliHBTWeightNonId3DCorrFctn.h"
-#include <TH1.h>
-#include <Riostream.h>
-
-///////////////////////////////////////////////////////
-// //
-// AliHBTWeightNonId3DCorrFctn.h //
-// //
-// Class for calculating 3D non-id correlation //
-// functions using methods of weights //
-// //
-///////////////////////////////////////////////////////
-
-ClassImp(AliHBTWeightNonId3DCorrFctn)
-
-AliHBTWeightNonId3DCorrFctn::AliHBTWeightNonId3DCorrFctn(const char* name, const char* title):
- AliHBTTwoPairFctn1D(name,title),
- fWeightNumOutP(0x0),
- fWeightDenOutP(0x0),
- fWeightRatOutP(0x0),
- fWeightNumOutN(0x0),
- fWeightDenOutN(0x0),
- fWeightRatOutN(0x0),
- fWeightRatOut(0x0),
- fWeightRatOutNOverP(0x0),
- fWeightNumSideP(0x0),
- fWeightDenSideP(0x0),
- fWeightRatSideP(0x0),
- fWeightNumSideN(0x0),
- fWeightDenSideN(0x0),
- fWeightRatSideN(0x0),
- fWeightRatSide(0x0),
- fWeightRatSideNOverP(0x0),
- fWeightNumLongP(0x0),
- fWeightDenLongP(0x0),
- fWeightRatLongP(0x0),
- fWeightNumLongN(0x0),
- fWeightDenLongN(0x0),
- fWeightRatLongN(0x0),
- fWeightRatLong(0x0),
- fWeightRatLongNOverP(0x0)
-{
-//ctor
-}
-/******************************************************************/
-AliHBTWeightNonId3DCorrFctn::AliHBTWeightNonId3DCorrFctn(const char* name, const char* title,
- Int_t nbinsX, Float_t maxXval, Float_t minXval):
- AliHBTTwoPairFctn1D(name,title,nbinsX,maxXval,minXval),
- fWeightNumOutP(0x0),
- fWeightDenOutP(0x0),
- fWeightRatOutP(0x0),
- fWeightNumOutN(0x0),
- fWeightDenOutN(0x0),
- fWeightRatOutN(0x0),
- fWeightRatOut(0x0),
- fWeightRatOutNOverP(0x0),
- fWeightNumSideP(0x0),
- fWeightDenSideP(0x0),
- fWeightRatSideP(0x0),
- fWeightNumSideN(0x0),
- fWeightDenSideN(0x0),
- fWeightRatSideN(0x0),
- fWeightRatSide(0x0),
- fWeightRatSideNOverP(0x0),
- fWeightNumLongP(0x0),
- fWeightDenLongP(0x0),
- fWeightRatLongP(0x0),
- fWeightNumLongN(0x0),
- fWeightDenLongN(0x0),
- fWeightRatLongN(0x0),
- fWeightRatLong(0x0),
- fWeightRatLongNOverP(0x0)
-{
-//ctor
-}
-
-/******************************************************************/
-AliHBTWeightNonId3DCorrFctn::AliHBTWeightNonId3DCorrFctn(const AliHBTWeightNonId3DCorrFctn& in):
- AliHBTTwoPairFctn1D(in),
- fWeightNumOutP(0x0),
- fWeightDenOutP(0x0),
- fWeightRatOutP(0x0),
- fWeightNumOutN(0x0),
- fWeightDenOutN(0x0),
- fWeightRatOutN(0x0),
- fWeightRatOut(0x0),
- fWeightRatOutNOverP(0x0),
- fWeightNumSideP(0x0),
- fWeightDenSideP(0x0),
- fWeightRatSideP(0x0),
- fWeightNumSideN(0x0),
- fWeightDenSideN(0x0),
- fWeightRatSideN(0x0),
- fWeightRatSide(0x0),
- fWeightRatSideNOverP(0x0),
- fWeightNumLongP(0x0),
- fWeightDenLongP(0x0),
- fWeightRatLongP(0x0),
- fWeightNumLongN(0x0),
- fWeightDenLongN(0x0),
- fWeightRatLongN(0x0),
- fWeightRatLong(0x0),
- fWeightRatLongNOverP(0x0)
-{
-//ctor
-}
-
-/******************************************************************/
-
-AliHBTWeightNonId3DCorrFctn::~AliHBTWeightNonId3DCorrFctn()
-{
- //dtor
- delete fWeightNumOutP;
- delete fWeightDenOutP;
- delete fWeightRatOutP;
- delete fWeightNumOutN;
- delete fWeightDenOutN;
- delete fWeightRatOutN;
- delete fWeightRatOut;
- delete fWeightRatOutNOverP;
- delete fWeightNumSideP;
- delete fWeightDenSideP;
- delete fWeightRatSideP;
- delete fWeightNumSideN;
- delete fWeightDenSideN;
- delete fWeightRatSideN;
- delete fWeightRatSide;
- delete fWeightRatSideNOverP;
- delete fWeightNumLongP;
- delete fWeightDenLongP;
- delete fWeightRatLongP;
- delete fWeightNumLongN;
- delete fWeightDenLongN;
- delete fWeightRatLongN;
- delete fWeightRatLong;
- delete fWeightRatLongNOverP;
-
-}
-
-//-------------------------------------
-void AliHBTWeightNonId3DCorrFctn::ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
-{
- //Fills the numerator using pair from the same event
-
-// partpair = CheckPair(partpair);//why checking cuts on simulated?
-
- trackpair = CheckPair(trackpair);
- if(partpair == 0x0) return;
- if(trackpair == 0x0) return;
-
- double tKStar = TMath::Abs(trackpair->GetKStar());
- double tKStarOut = trackpair->GetKStarOut();
- double tKStarSide = trackpair->GetKStarSide();
- double tKStarLong = trackpair->GetKStarLong();
-
- Double_t weight = 1.0;
-
- if ( trackpair && partpair)
- {
- if ( ( trackpair->Particle1()->GetPdgCode() == partpair->Particle1()->GetPdgCode()) &&
- ( trackpair->Particle2()->GetPdgCode() == partpair->Particle2()->GetPdgCode()) )
- {
- weight=partpair->GetWeight();
- }
-
- if(tKStarOut>0.)
- {
- fWeightNumOutP->Fill(tKStar,weight);
- }
- else
- {
- fWeightNumOutN->Fill(tKStar,weight);
- }
-
- if(tKStarSide>0.)
- {
- fWeightNumSideP->Fill(tKStar,weight);
- }
- else
- {
- fWeightNumSideN->Fill(tKStar,weight);
- }
-
- if(tKStarLong>0.)
- {
- fWeightNumLongP->Fill(tKStar,weight);
- }
- else
- {
- fWeightNumLongN->Fill(tKStar,weight);
- }
- }
-
-}
-
-/****************************************************************/
-
-
-void AliHBTWeightNonId3DCorrFctn::ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair)
-{
-
- trackpair = CheckPair(trackpair);
-// partpair = CheckPair(partpair);
-
- double tKStar = TMath::Abs(partpair->GetKStar());
- double tKStarOut = trackpair->GetKStarOut();
- double tKStarSide = trackpair->GetKStarSide();
- double tKStarLong = trackpair->GetKStarLong();
-
- if ( trackpair && partpair)
- {
- if(tKStarOut>0.)
- {
- fWeightDenOutP->Fill(tKStar);
- }
- else
- {
- fWeightDenOutN->Fill(tKStar);
- }
-
- if(tKStarSide>0.)
- {
- fWeightDenSideP->Fill(tKStar);
- }
- else
- {
- fWeightDenSideN->Fill(tKStar);
- }
-
- if(tKStarLong>0.)
- {
- fWeightDenLongP->Fill(tKStar);
- }
- else
- {
- fWeightDenLongN->Fill(tKStar);
- }
- }
-
-}
-
-
-/****************************************************************/
-void AliHBTWeightNonId3DCorrFctn::Init()
-{
- AliHBTTwoPairFctn1D::Init();
- fWeightNumOutP->Reset();
- fWeightDenOutP->Reset();
- fWeightRatOutP->Reset();
- fWeightNumOutN->Reset();
- fWeightDenOutN->Reset();
- fWeightRatOutN->Reset();
- fWeightRatOut->Reset();
- fWeightRatOutNOverP->Reset();
-
- fWeightNumSideP->Reset();
- fWeightDenSideP->Reset();
- fWeightRatSideP->Reset();
- fWeightNumSideN->Reset();
- fWeightDenSideN->Reset();
- fWeightRatSideN->Reset();
- fWeightRatSide->Reset();
- fWeightRatSideNOverP->Reset();
-
- fWeightNumLongP->Reset();
- fWeightDenLongP->Reset();
- fWeightRatLongP->Reset();
- fWeightNumLongN->Reset();
- fWeightDenLongN->Reset();
- fWeightRatLongN->Reset();
- fWeightRatLong->Reset();
- fWeightRatLongNOverP->Reset();
-}
-/******************************************************************/
-
-void AliHBTWeightNonId3DCorrFctn::BuildHistos(Int_t nbins, Float_t max, Float_t min)
-{
-
- AliHBTFunction1D::BuildHistos(nbins,max,min);
-
- TString nameNumOutP = "WeightNumOutP";
- TString nameDenOutP = "WeightDenOutP";
- TString nameRatOutP = "WeightRatOutP";
- TString nameNumOutN = "WeightNumOutN";
- TString nameDenOutN = "WeightDenOutN";
- TString nameRatOutN = "WeightRatOutN";
- TString nameRatOut = "WeightRatOut";
- TString nameRatOutNOverP = "WeightRatOutNOverP";
- TString nameNumSideP = "WeightNumSideP";
- TString nameDenSideP = "WeightDenSideP";
- TString nameRatSideP = "WeightRatSideP";
- TString nameNumSideN = "WeightNumSideN";
- TString nameDenSideN = "WeightDenSideN";
- TString nameRatSideN = "WeightRatSideN";
- TString nameRatSide = "WeightRatSide";
- TString nameRatSideNOverP = "WeightRatSideNOverP";
- TString nameNumLongP = "WeightNumLongP";
- TString nameDenLongP = "WeightDenLongP";
- TString nameRatLongP = "WeightRatLongP";
- TString nameNumLongN = "WeightNumLongN";
- TString nameDenLongN = "WeightDenLongN";
- TString nameRatLongN = "WeightRatLongN";
- TString nameRatLong = "WeightRatLong";
- TString nameRatLongNOverP = "WeightRatLongNOverP";
-
- fWeightNumOutP = new TH1D(nameNumOutP.Data(),nameNumOutP.Data(),nbins,min,max);
- fWeightDenOutP = new TH1D(nameDenOutP.Data(),nameDenOutP.Data(),nbins,min,max);
- fWeightRatOutP = new TH1D(nameRatOutP.Data(),nameRatOutP.Data(),nbins,min,max);
-
- fWeightNumOutN = new TH1D(nameNumOutN.Data(),nameNumOutN.Data(),nbins,min,max);
- fWeightDenOutN = new TH1D(nameDenOutN.Data(),nameDenOutN.Data(),nbins,min,max);
- fWeightRatOutN = new TH1D(nameRatOutN.Data(),nameRatOutN.Data(),nbins,min,max);
-
- fWeightRatOut = new TH1D(nameRatOut.Data(),nameRatOut.Data(),nbins,min,max);
- fWeightRatOutNOverP = new TH1D(nameRatOutNOverP.Data(),nameRatOutNOverP.Data(),nbins,min,max);
-
- fWeightNumSideP = new TH1D(nameNumSideP.Data(),nameNumSideP.Data(),nbins,min,max);
- fWeightDenSideP = new TH1D(nameDenSideP.Data(),nameDenSideP.Data(),nbins,min,max);
- fWeightRatSideP = new TH1D(nameRatSideP.Data(),nameRatSideP.Data(),nbins,min,max);
-
- fWeightNumSideN = new TH1D(nameNumSideN.Data(),nameNumSideN.Data(),nbins,min,max);
- fWeightDenSideN = new TH1D(nameDenSideN.Data(),nameDenSideN.Data(),nbins,min,max);
- fWeightRatSideN = new TH1D(nameRatSideN.Data(),nameRatSideN.Data(),nbins,min,max);
-
- fWeightRatSide = new TH1D(nameRatSide.Data(),nameRatSide.Data(),nbins,min,max);
- fWeightRatSideNOverP = new TH1D(nameRatSideNOverP.Data(),nameRatSideNOverP.Data(),nbins,min,max);
-
- fWeightNumLongP = new TH1D(nameNumLongP.Data(),nameNumLongP.Data(),nbins,min,max);
- fWeightDenLongP = new TH1D(nameDenLongP.Data(),nameDenLongP.Data(),nbins,min,max);
- fWeightRatLongP = new TH1D(nameRatLongP.Data(),nameRatLongP.Data(),nbins,min,max);
-
- fWeightNumLongN = new TH1D(nameNumLongN.Data(),nameNumLongN.Data(),nbins,min,max);
- fWeightDenLongN = new TH1D(nameDenLongN.Data(),nameDenLongN.Data(),nbins,min,max);
- fWeightRatLongN = new TH1D(nameRatLongN.Data(),nameRatLongN.Data(),nbins,min,max);
-
- fWeightRatLong = new TH1D(nameRatLong.Data(),nameRatLong.Data(),nbins,min,max);
- fWeightRatLongNOverP = new TH1D(nameRatLongNOverP.Data(),nameRatLongNOverP.Data(),nbins,min,max);
-
-
- fWeightNumOutP->Sumw2();
- fWeightDenOutP->Sumw2();
- fWeightRatOutP->Sumw2();
- fWeightNumOutN->Sumw2();
- fWeightDenOutN->Sumw2();
- fWeightRatOutN->Sumw2();
- fWeightRatOut->Sumw2();
- fWeightRatOutNOverP->Sumw2();
- fWeightNumSideP->Sumw2();
- fWeightDenSideP->Sumw2();
- fWeightRatSideP->Sumw2();
- fWeightNumSideN->Sumw2();
- fWeightDenSideN->Sumw2();
- fWeightRatSideN->Sumw2();
- fWeightRatSide->Sumw2();
- fWeightRatSideNOverP->Sumw2();
- fWeightNumLongP->Sumw2();
- fWeightDenLongP->Sumw2();
- fWeightRatLongP->Sumw2();
- fWeightNumLongN->Sumw2();
- fWeightDenLongN->Sumw2();
- fWeightRatLongN->Sumw2();
- fWeightRatLong->Sumw2();
- fWeightRatLongNOverP->Sumw2();
-}
-
-/******************************************************************/
-
-TH1* AliHBTWeightNonId3DCorrFctn::GetResult()
-{
- return fWeightRatOutN;
-}
-
-/******************************************************************/
-
-void AliHBTWeightNonId3DCorrFctn::WriteFunction()
-{
-
- Double_t outPscale = Scale(fWeightNumOutP,fWeightDenOutP);
- cout<<"WoutPscale = "<<outPscale<<endl;
- fWeightRatOutP->Divide(fWeightNumOutP,fWeightDenOutP,outPscale);
-
- Double_t outNscale = Scale(fWeightNumOutN,fWeightDenOutN);
- cout<<"WoutNscale = "<<outNscale<<endl;
- fWeightRatOutN->Divide(fWeightNumOutN,fWeightDenOutN,outNscale);
-
- fWeightRatOutNOverP->Divide(fWeightRatOutN,fWeightRatOutP);
-
-
- Double_t sidePscale = Scale(fWeightNumSideP,fWeightDenSideP);
- fWeightRatSideP->Divide(fWeightNumSideP,fWeightDenSideP,sidePscale);
-
- Double_t sideNscale = Scale(fWeightNumSideN,fWeightDenSideN);
- fWeightRatSideN->Divide(fWeightNumSideN,fWeightDenSideN,sideNscale);
-
- fWeightRatSideNOverP->Divide(fWeightRatSideN,fWeightRatSideP);
-
-
- Double_t longPscale = Scale(fWeightNumLongP,fWeightDenLongP);
- fWeightRatLongP->Divide(fWeightNumLongP,fWeightDenLongP,longPscale);
-
- Double_t longNscale = Scale(fWeightNumLongN,fWeightDenLongN);
- fWeightRatLongN->Divide(fWeightNumLongN,fWeightDenLongN,longNscale);
-
- fWeightRatLongNOverP->Divide(fWeightRatLongN,fWeightRatLongP);
-
- fWeightNumOutP->Write();
- fWeightDenOutP->Write();
- fWeightRatOutP->Write();
- fWeightNumOutN->Write();
- fWeightDenOutN->Write();
- fWeightRatOutN->Write();
- fWeightRatOut->Write();
- fWeightRatOutNOverP->Write();
-
- fWeightNumSideP->Write();
- fWeightDenSideP->Write();
- fWeightRatSideP->Write();
- fWeightNumSideN->Write();
- fWeightDenSideN->Write();
- fWeightRatSideN->Write();
- fWeightRatSide->Write();
- fWeightRatSideNOverP->Write();
-
- fWeightNumLongP->Write();
- fWeightDenLongP->Write();
- fWeightRatLongP->Write();
- fWeightNumLongN->Write();
- fWeightDenLongN->Write();
- fWeightRatLongN->Write();
- fWeightRatLong->Write();
- fWeightRatLongNOverP->Write();
-
-}
-
+++ /dev/null
-#ifndef ALIHBTWEIGHTNONID3DCORRFCTN_H
-#define ALIHBTWEIGHTNONID3DCORRFCTN_H
-
-///////////////////////////////////////////////////////
-// //
-// AliHBTWeightNonId3DCorrFctn.h //
-// //
-// Class for calculating 3D non-id correlation //
-// functions using method of weights //
-// //
-///////////////////////////////////////////////////////
-
-#include "AliHBTFunction.h"
-
-
-class AliHBTWeights;
-
-class AliHBTWeightNonId3DCorrFctn: public AliHBTTwoPairFctn1D
-{
- public:
- AliHBTWeightNonId3DCorrFctn(const char* name = "nonid3DCF",
- const char* title= "3D Non-Id Correlation Function");
-
- AliHBTWeightNonId3DCorrFctn(const char* name, const char* title,
- Int_t nbinsX, Float_t maxXval, Float_t minXval);
- AliHBTWeightNonId3DCorrFctn(const AliHBTWeightNonId3DCorrFctn& in);
-
- virtual ~AliHBTWeightNonId3DCorrFctn();
-
- void Init(); // InitFunction();
- void ProcessSameEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
- void ProcessDiffEventParticles(AliHBTPair* trackpair, AliHBTPair* partpair);
-
- void WriteFunction();
-
- TH1* GetResult();
-
- protected:
-
- Double_t GetValue(AliHBTPair* trackpair, AliHBTPair* partpair) {return trackpair->GetQInv()-partpair->GetQInv();}
- void BuildHistos(Int_t nbins, Float_t max, Float_t min);
-
- TH1D* fWeightNumOutP;
- TH1D* fWeightDenOutP;
- TH1D* fWeightRatOutP;
- TH1D* fWeightNumOutN;
- TH1D* fWeightDenOutN;
- TH1D* fWeightRatOutN;
- TH1D* fWeightRatOut;
- TH1D* fWeightRatOutNOverP;
-
- TH1D* fWeightNumSideP;
- TH1D* fWeightDenSideP;
- TH1D* fWeightRatSideP;
- TH1D* fWeightNumSideN;
- TH1D* fWeightDenSideN;
- TH1D* fWeightRatSideN;
- TH1D* fWeightRatSide;
- TH1D* fWeightRatSideNOverP;
-
- TH1D* fWeightNumLongP;
- TH1D* fWeightDenLongP;
- TH1D* fWeightRatLongP;
- TH1D* fWeightNumLongN;
- TH1D* fWeightDenLongN;
- TH1D* fWeightRatLongN;
- TH1D* fWeightRatLong;
- TH1D* fWeightRatLongNOverP;
-
-
- private:
-
- ClassDef(AliHBTWeightNonId3DCorrFctn,1)
-};
-
-#endif
+++ /dev/null
-#include "AliHBTWeightNonId3DTheorCorrFctn.h"
-#include <TH1.h>
-#include <Riostream.h>
-
-///////////////////////////////////////////////////////
-// //
-// AliHBTWeightNonId3DTheorCorrFctn.h //
-// //
-// Class for calculating 3D non-id correlation //
-// functions using methods of weights //
-// //
-///////////////////////////////////////////////////////
-
-ClassImp(AliHBTWeightNonId3DTheorCorrFctn)
-
-AliHBTWeightNonId3DTheorCorrFctn::AliHBTWeightNonId3DTheorCorrFctn(const char* name, const char* title):
- AliHBTOnePairFctn1D(name,title),
- fWeightNumOutP(0x0),
- fWeightDenOutP(0x0),
- fWeightRatOutP(0x0),
- fWeightNumOutN(0x0),
- fWeightDenOutN(0x0),
- fWeightRatOutN(0x0),
- fWeightRatOut(0x0),
- fWeightRatOutNOverP(0x0),
- fWeightNumSideP(0x0),
- fWeightDenSideP(0x0),
- fWeightRatSideP(0x0),
- fWeightNumSideN(0x0),
- fWeightDenSideN(0x0),
- fWeightRatSideN(0x0),
- fWeightRatSide(0x0),
- fWeightRatSideNOverP(0x0),
- fWeightNumLongP(0x0),
- fWeightDenLongP(0x0),
- fWeightRatLongP(0x0),
- fWeightNumLongN(0x0),
- fWeightDenLongN(0x0),
- fWeightRatLongN(0x0),
- fWeightRatLong(0x0),
- fWeightRatLongNOverP(0x0)
-{
-//ctor
-}
-/******************************************************************/
-AliHBTWeightNonId3DTheorCorrFctn::AliHBTWeightNonId3DTheorCorrFctn(const char* name, const char* title,
- Int_t nbinsX, Float_t maxXval, Float_t minXval):
- AliHBTOnePairFctn1D(name,title,nbinsX,maxXval,minXval),
- fWeightNumOutP(0x0),
- fWeightDenOutP(0x0),
- fWeightRatOutP(0x0),
- fWeightNumOutN(0x0),
- fWeightDenOutN(0x0),
- fWeightRatOutN(0x0),
- fWeightRatOut(0x0),
- fWeightRatOutNOverP(0x0),
- fWeightNumSideP(0x0),
- fWeightDenSideP(0x0),
- fWeightRatSideP(0x0),
- fWeightNumSideN(0x0),
- fWeightDenSideN(0x0),
- fWeightRatSideN(0x0),
- fWeightRatSide(0x0),
- fWeightRatSideNOverP(0x0),
- fWeightNumLongP(0x0),
- fWeightDenLongP(0x0),
- fWeightRatLongP(0x0),
- fWeightNumLongN(0x0),
- fWeightDenLongN(0x0),
- fWeightRatLongN(0x0),
- fWeightRatLong(0x0),
- fWeightRatLongNOverP(0x0)
-{
-//ctor
-}
-
-/******************************************************************/
-AliHBTWeightNonId3DTheorCorrFctn::AliHBTWeightNonId3DTheorCorrFctn(const AliHBTWeightNonId3DTheorCorrFctn& in):
- AliHBTOnePairFctn1D(in),
- fWeightNumOutP(0x0),
- fWeightDenOutP(0x0),
- fWeightRatOutP(0x0),
- fWeightNumOutN(0x0),
- fWeightDenOutN(0x0),
- fWeightRatOutN(0x0),
- fWeightRatOut(0x0),
- fWeightRatOutNOverP(0x0),
- fWeightNumSideP(0x0),
- fWeightDenSideP(0x0),
- fWeightRatSideP(0x0),
- fWeightNumSideN(0x0),
- fWeightDenSideN(0x0),
- fWeightRatSideN(0x0),
- fWeightRatSide(0x0),
- fWeightRatSideNOverP(0x0),
- fWeightNumLongP(0x0),
- fWeightDenLongP(0x0),
- fWeightRatLongP(0x0),
- fWeightNumLongN(0x0),
- fWeightDenLongN(0x0),
- fWeightRatLongN(0x0),
- fWeightRatLong(0x0),
- fWeightRatLongNOverP(0x0)
-{
-//ctor
-}
-
-/******************************************************************/
-
-AliHBTWeightNonId3DTheorCorrFctn::~AliHBTWeightNonId3DTheorCorrFctn()
-{
- //dtor
- delete fWeightNumOutP;
- delete fWeightDenOutP;
- delete fWeightRatOutP;
- delete fWeightNumOutN;
- delete fWeightDenOutN;
- delete fWeightRatOutN;
- delete fWeightRatOut;
- delete fWeightRatOutNOverP;
- delete fWeightNumSideP;
- delete fWeightDenSideP;
- delete fWeightRatSideP;
- delete fWeightNumSideN;
- delete fWeightDenSideN;
- delete fWeightRatSideN;
- delete fWeightRatSide;
- delete fWeightRatSideNOverP;
- delete fWeightNumLongP;
- delete fWeightDenLongP;
- delete fWeightRatLongP;
- delete fWeightNumLongN;
- delete fWeightDenLongN;
- delete fWeightRatLongN;
- delete fWeightRatLong;
- delete fWeightRatLongNOverP;
-
-}
-
-//-------------------------------------
-void AliHBTWeightNonId3DTheorCorrFctn::ProcessSameEventParticles(AliHBTPair* partpair)
-{
- //Fills the numerator using pair from the same event
- partpair = CheckPair(partpair);
- if(partpair == 0x0) return;
-
- double tKStar = TMath::Abs(partpair->GetKStar());
- double tKStarOut = partpair->GetKStarOut();
- double tKStarSide = partpair->GetKStarSide();
- double tKStarLong = partpair->GetKStarLong();
-
- Double_t weight = 1.0;
-
- if (partpair)
- {
- weight=partpair->GetWeight();
-
- if(tKStarOut>0.)
- {
- fWeightNumOutP->Fill(tKStar,weight);
- }
- else
- {
- fWeightNumOutN->Fill(tKStar,weight);
- }
-
- if(tKStarSide>0.)
- {
- fWeightNumSideP->Fill(tKStar,weight);
- }
- else
- {
- fWeightNumSideN->Fill(tKStar,weight);
- }
-
- if(tKStarLong>0.)
- {
- fWeightNumLongP->Fill(tKStar,weight);
- }
- else
- {
- fWeightNumLongN->Fill(tKStar,weight);
- }
- }
-
-}
-
-/****************************************************************/
-
-
-void AliHBTWeightNonId3DTheorCorrFctn::ProcessDiffEventParticles(AliHBTPair* partpair)
-{
-
- partpair = CheckPair(partpair);
-
- double tKStar = TMath::Abs(partpair->GetKStar());
- double tKStarOut = partpair->GetKStarOut();
- double tKStarSide = partpair->GetKStarSide();
- double tKStarLong = partpair->GetKStarLong();
-
- if (partpair)
- {
- if(tKStarOut>0.)
- {
- fWeightDenOutP->Fill(tKStar);
- }
- else
- {
- fWeightDenOutN->Fill(tKStar);
- }
-
- if(tKStarSide>0.)
- {
- fWeightDenSideP->Fill(tKStar);
- }
- else
- {
- fWeightDenSideN->Fill(tKStar);
- }
-
- if(tKStarLong>0.)
- {
- fWeightDenLongP->Fill(tKStar);
- }
- else
- {
- fWeightDenLongN->Fill(tKStar);
- }
- }
-
-}
-
-
-/****************************************************************/
-void AliHBTWeightNonId3DTheorCorrFctn::Init()
-{
- AliHBTOnePairFctn1D::Init();
- fWeightNumOutP->Reset();
- fWeightDenOutP->Reset();
- fWeightRatOutP->Reset();
- fWeightNumOutN->Reset();
- fWeightDenOutN->Reset();
- fWeightRatOutN->Reset();
- fWeightRatOut->Reset();
- fWeightRatOutNOverP->Reset();
-
- fWeightNumSideP->Reset();
- fWeightDenSideP->Reset();
- fWeightRatSideP->Reset();
- fWeightNumSideN->Reset();
- fWeightDenSideN->Reset();
- fWeightRatSideN->Reset();
- fWeightRatSide->Reset();
- fWeightRatSideNOverP->Reset();
-
- fWeightNumLongP->Reset();
- fWeightDenLongP->Reset();
- fWeightRatLongP->Reset();
- fWeightNumLongN->Reset();
- fWeightDenLongN->Reset();
- fWeightRatLongN->Reset();
- fWeightRatLong->Reset();
- fWeightRatLongNOverP->Reset();
-}
-/******************************************************************/
-
-void AliHBTWeightNonId3DTheorCorrFctn::BuildHistos(Int_t nbins, Float_t max, Float_t min)
-{
-
- AliHBTFunction1D::BuildHistos(nbins,max,min);
-
- TString nameNumOutP = "WeightNumOutP";
- TString nameDenOutP = "WeightDenOutP";
- TString nameRatOutP = "WeightRatOutP";
- TString nameNumOutN = "WeightNumOutN";
- TString nameDenOutN = "WeightDenOutN";
- TString nameRatOutN = "WeightRatOutN";
- TString nameRatOut = "WeightRatOut";
- TString nameRatOutNOverP = "WeightRatOutNOverP";
- TString nameNumSideP = "WeightNumSideP";
- TString nameDenSideP = "WeightDenSideP";
- TString nameRatSideP = "WeightRatSideP";
- TString nameNumSideN = "WeightNumSideN";
- TString nameDenSideN = "WeightDenSideN";
- TString nameRatSideN = "WeightRatSideN";
- TString nameRatSide = "WeightRatSide";
- TString nameRatSideNOverP = "WeightRatSideNOverP";
- TString nameNumLongP = "WeightNumLongP";
- TString nameDenLongP = "WeightDenLongP";
- TString nameRatLongP = "WeightRatLongP";
- TString nameNumLongN = "WeightNumLongN";
- TString nameDenLongN = "WeightDenLongN";
- TString nameRatLongN = "WeightRatLongN";
- TString nameRatLong = "WeightRatLong";
- TString nameRatLongNOverP = "WeightRatLongNOverP";
-
- fWeightNumOutP = new TH1D(nameNumOutP.Data(),nameNumOutP.Data(),nbins,min,max);
- fWeightDenOutP = new TH1D(nameDenOutP.Data(),nameDenOutP.Data(),nbins,min,max);
- fWeightRatOutP = new TH1D(nameRatOutP.Data(),nameRatOutP.Data(),nbins,min,max);
-
- fWeightNumOutN = new TH1D(nameNumOutN.Data(),nameNumOutN.Data(),nbins,min,max);
- fWeightDenOutN = new TH1D(nameDenOutN.Data(),nameDenOutN.Data(),nbins,min,max);
- fWeightRatOutN = new TH1D(nameRatOutN.Data(),nameRatOutN.Data(),nbins,min,max);
-
- fWeightRatOut = new TH1D(nameRatOut.Data(),nameRatOut.Data(),nbins,min,max);
- fWeightRatOutNOverP = new TH1D(nameRatOutNOverP.Data(),nameRatOutNOverP.Data(),nbins,min,max);
-
- fWeightNumSideP = new TH1D(nameNumSideP.Data(),nameNumSideP.Data(),nbins,min,max);
- fWeightDenSideP = new TH1D(nameDenSideP.Data(),nameDenSideP.Data(),nbins,min,max);
- fWeightRatSideP = new TH1D(nameRatSideP.Data(),nameRatSideP.Data(),nbins,min,max);
-
- fWeightNumSideN = new TH1D(nameNumSideN.Data(),nameNumSideN.Data(),nbins,min,max);
- fWeightDenSideN = new TH1D(nameDenSideN.Data(),nameDenSideN.Data(),nbins,min,max);
- fWeightRatSideN = new TH1D(nameRatSideN.Data(),nameRatSideN.Data(),nbins,min,max);
-
- fWeightRatSide = new TH1D(nameRatSide.Data(),nameRatSide.Data(),nbins,min,max);
- fWeightRatSideNOverP = new TH1D(nameRatSideNOverP.Data(),nameRatSideNOverP.Data(),nbins,min,max);
-
- fWeightNumLongP = new TH1D(nameNumLongP.Data(),nameNumLongP.Data(),nbins,min,max);
- fWeightDenLongP = new TH1D(nameDenLongP.Data(),nameDenLongP.Data(),nbins,min,max);
- fWeightRatLongP = new TH1D(nameRatLongP.Data(),nameRatLongP.Data(),nbins,min,max);
-
- fWeightNumLongN = new TH1D(nameNumLongN.Data(),nameNumLongN.Data(),nbins,min,max);
- fWeightDenLongN = new TH1D(nameDenLongN.Data(),nameDenLongN.Data(),nbins,min,max);
- fWeightRatLongN = new TH1D(nameRatLongN.Data(),nameRatLongN.Data(),nbins,min,max);
-
- fWeightRatLong = new TH1D(nameRatLong.Data(),nameRatLong.Data(),nbins,min,max);
- fWeightRatLongNOverP = new TH1D(nameRatLongNOverP.Data(),nameRatLongNOverP.Data(),nbins,min,max);
-
-
- fWeightNumOutP->Sumw2();
- fWeightDenOutP->Sumw2();
- fWeightRatOutP->Sumw2();
- fWeightNumOutN->Sumw2();
- fWeightDenOutN->Sumw2();
- fWeightRatOutN->Sumw2();
- fWeightRatOut->Sumw2();
- fWeightRatOutNOverP->Sumw2();
- fWeightNumSideP->Sumw2();
- fWeightDenSideP->Sumw2();
- fWeightRatSideP->Sumw2();
- fWeightNumSideN->Sumw2();
- fWeightDenSideN->Sumw2();
- fWeightRatSideN->Sumw2();
- fWeightRatSide->Sumw2();
- fWeightRatSideNOverP->Sumw2();
- fWeightNumLongP->Sumw2();
- fWeightDenLongP->Sumw2();
- fWeightRatLongP->Sumw2();
- fWeightNumLongN->Sumw2();
- fWeightDenLongN->Sumw2();
- fWeightRatLongN->Sumw2();
- fWeightRatLong->Sumw2();
- fWeightRatLongNOverP->Sumw2();
-}
-
-/******************************************************************/
-
-TH1* AliHBTWeightNonId3DTheorCorrFctn::GetResult()
-{
- return fWeightRatOutN;
-}
-
-/******************************************************************/
-
-void AliHBTWeightNonId3DTheorCorrFctn::WriteFunction()
-{
-
- Double_t outPscale = Scale(fWeightNumOutP,fWeightDenOutP);
- cout<<"WoutPscale = "<<outPscale<<endl;
- fWeightRatOutP->Divide(fWeightNumOutP,fWeightDenOutP,outPscale);
-
- Double_t outNscale = Scale(fWeightNumOutN,fWeightDenOutN);
- cout<<"WoutNscale = "<<outNscale<<endl;
- fWeightRatOutN->Divide(fWeightNumOutN,fWeightDenOutN,outNscale);
-
- fWeightRatOutNOverP->Divide(fWeightRatOutN,fWeightRatOutP);
-
-
- Double_t sidePscale = Scale(fWeightNumSideP,fWeightDenSideP);
- fWeightRatSideP->Divide(fWeightNumSideP,fWeightDenSideP,sidePscale);
-
- Double_t sideNscale = Scale(fWeightNumSideN,fWeightDenSideN);
- fWeightRatSideN->Divide(fWeightNumSideN,fWeightDenSideN,sideNscale);
-
- fWeightRatSideNOverP->Divide(fWeightRatSideN,fWeightRatSideP);
-
-
- Double_t longPscale = Scale(fWeightNumLongP,fWeightDenLongP);
- fWeightRatLongP->Divide(fWeightNumLongP,fWeightDenLongP,longPscale);
-
- Double_t longNscale = Scale(fWeightNumLongN,fWeightDenLongN);
- fWeightRatLongN->Divide(fWeightNumLongN,fWeightDenLongN,longNscale);
-
- fWeightRatLongNOverP->Divide(fWeightRatLongN,fWeightRatLongP);
-
- fWeightNumOutP->Write();
- fWeightDenOutP->Write();
- fWeightRatOutP->Write();
- fWeightNumOutN->Write();
- fWeightDenOutN->Write();
- fWeightRatOutN->Write();
- fWeightRatOut->Write();
- fWeightRatOutNOverP->Write();
-
- fWeightNumSideP->Write();
- fWeightDenSideP->Write();
- fWeightRatSideP->Write();
- fWeightNumSideN->Write();
- fWeightDenSideN->Write();
- fWeightRatSideN->Write();
- fWeightRatSide->Write();
- fWeightRatSideNOverP->Write();
-
- fWeightNumLongP->Write();
- fWeightDenLongP->Write();
- fWeightRatLongP->Write();
- fWeightNumLongN->Write();
- fWeightDenLongN->Write();
- fWeightRatLongN->Write();
- fWeightRatLong->Write();
- fWeightRatLongNOverP->Write();
-
-}
-
+++ /dev/null
-#ifndef ALIHBTWEIGHTNONID3DTHEORCORRFCTN_H
-#define ALIHBTWEIGHTNONID3DTHEORCORRFCTN_H
-
-///////////////////////////////////////////////////////
-// //
-// AliHBTWeightNonId3DCorrFctn.h //
-// //
-// Class for calculating 3D non-id correlation //
-// functions using method of weights //
-// //
-///////////////////////////////////////////////////////
-
-#include "AliHBTFunction.h"
-
-
-class AliHBTWeights;
-
-class AliHBTWeightNonId3DTheorCorrFctn: public AliHBTOnePairFctn1D
-{
- public:
- AliHBTWeightNonId3DTheorCorrFctn(const char* name = "nonid3DCF",
- const char* title= "3D Non-Id Theoretical Correlation Function");
-
- AliHBTWeightNonId3DTheorCorrFctn(const char* name, const char* title,
- Int_t nbinsX, Float_t maxXval, Float_t minXval);
- AliHBTWeightNonId3DTheorCorrFctn(const AliHBTWeightNonId3DTheorCorrFctn& in);
-
- virtual ~AliHBTWeightNonId3DTheorCorrFctn();
-
- void Init(); // InitFunction();
- void ProcessSameEventParticles(AliHBTPair* partpair);
- void ProcessDiffEventParticles(AliHBTPair* partpair);
-
- void WriteFunction();
-
- TH1* GetResult();
-
- protected:
-
- Double_t GetValue(AliHBTPair* partpair) {return partpair->GetQInv();}
- void BuildHistos(Int_t nbins, Float_t max, Float_t min);
-
- TH1D* fWeightNumOutP;
- TH1D* fWeightDenOutP;
- TH1D* fWeightRatOutP;
- TH1D* fWeightNumOutN;
- TH1D* fWeightDenOutN;
- TH1D* fWeightRatOutN;
- TH1D* fWeightRatOut;
- TH1D* fWeightRatOutNOverP;
-
- TH1D* fWeightNumSideP;
- TH1D* fWeightDenSideP;
- TH1D* fWeightRatSideP;
- TH1D* fWeightNumSideN;
- TH1D* fWeightDenSideN;
- TH1D* fWeightRatSideN;
- TH1D* fWeightRatSide;
- TH1D* fWeightRatSideNOverP;
-
- TH1D* fWeightNumLongP;
- TH1D* fWeightDenLongP;
- TH1D* fWeightRatLongP;
- TH1D* fWeightNumLongN;
- TH1D* fWeightDenLongN;
- TH1D* fWeightRatLongN;
- TH1D* fWeightRatLong;
- TH1D* fWeightRatLongNOverP;
-
-
- private:
-
- ClassDef(AliHBTWeightNonId3DTheorCorrFctn,1)
-};
-
-#endif
#pragma link C++ class AliHBTAvSeparCorrelFctn+;
-#pragma link C++ class AliHBTWeightNonId3DCorrFctn+; // zch
-#pragma link C++ class AliHBTWeightNonId3DTheorCorrFctn+; // zch
-
#pragma link C++ class AliHBTashbtCorrFctn+; //gg
#pragma link C++ class AliHBTWeightashbtCorrFctn+; //gg
#pragma link C++ class AliHBTInvMassCorrelFctn+;
AliHBTPositionRandomizer.cxx \
AliHBTCorrFitFctn.cxx AliHBTPIDPurityFctns.cxx \
AliHBTCorrectQInvCorrelFctn.cxx AliHBTCorrectOSLCorrelFctn.cxx \
-AliHBTWeightNonId3DCorrFctn.cxx AliHBTWeightNonId3DTheorCorrFctn.cxx \
AliHBTashbtCorrFctn.cxx AliHBTWeightashbtCorrFctn.cxx
FSRCS = fsiini.F fsiw.F led_bldata.F ltran12.F