]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
couple of changes by C.Andrei
authorbhippoly <bhippoly@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 30 Nov 2009 19:39:50 +0000 (19:39 +0000)
committerbhippoly <bhippoly@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 30 Nov 2009 19:39:50 +0000 (19:39 +0000)
12 files changed:
PWG2/SPECTRA/AliAnalysisCentralCutESD.cxx
PWG2/SPECTRA/AliAnalysisCentralCutESD.h
PWG2/SPECTRA/AliAnalysisCentralCutEvtESD.cxx
PWG2/SPECTRA/AliAnalysisCentralCutEvtESD.h
PWG2/SPECTRA/AliAnalysisCentralCutEvtMC.cxx
PWG2/SPECTRA/AliAnalysisCentralCutEvtMC.h
PWG2/SPECTRA/AliAnalysisCentralCutMC.cxx
PWG2/SPECTRA/AliAnalysisCentralCutMC.h
PWG2/SPECTRA/AliAnalysisCentralExtrapolate.cxx
PWG2/SPECTRA/AliAnalysisCentralExtrapolate.h
PWG2/SPECTRA/AliAnalysisTaskCentral.cxx
PWG2/SPECTRA/AliAnalysisTaskCentral.h

index 63a0d9c64061fd0e74fcd9f2ea2c08fbaabcda68..eaf3cca7c72245b86495e0d51ad3516cf2a9c52b 100644 (file)
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
 
-//  ***************************************************
-//  * particle level cuts for azimuthal isotropic     *
-//  * expansion in highly central collisions analysis *
-//  * author: Cristian Andrei                         *
-//  *         acristian@niham.nipne.ro                *
-//  ***************************************************
+// -----------------------------------------------
+// particle level cuts for azimuthal isotropic
+// expansion in highly central collisions analysis
+// author: Cristian Andrei
+//         acristian@niham.nipne.ro
+// ------------------------------------------------
 
-#include <TFile.h>
 #include <TF1.h>
+#include <TFile.h>
 
+#include "AliAnalysisCentralCutESD.h"
 #include "AliESDtrack.h"
 
-#include "AliAnalysisCentralCutESD.h"
+
+class TObject;
+class TParticle;
+
 
 //____________________________________________________________________
 ClassImp(AliAnalysisCentralCutESD)
@@ -66,6 +70,7 @@ AliAnalysisCentralCutESD::AliAnalysisCentralCutESD(const Char_t* name, const Cha
        fProtonFunction = (TF1 *)f->Get("fitProtons");
     }
 
+       printf("AliAnalysisCentralCutESD::Constructor\n");
 }
 
 AliAnalysisCentralCutESD::~AliAnalysisCentralCutESD() {
@@ -79,6 +84,8 @@ AliAnalysisCentralCutESD::~AliAnalysisCentralCutESD() {
        if(fPionFunction) delete fPionFunction;
        if(fKaonFunction) delete fKaonFunction;
        if(fProtonFunction) delete fProtonFunction;
+
+       printf("AliAnalysisCentralCutESD::Destructor\n");
 }
 
 
index 09a74643d2f3c51dfdee5833485a6c80c24a47b2..5c49739c99f5f64d59738d339394333196be147f 100644 (file)
@@ -1,26 +1,30 @@
 #ifndef ALIANALYSISCENTRALCUTESD_H
 #define ALIANALYSISCENTRALCUTESD_H
+
+
 /*
  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
  * See cxx source for full Copyright notice
  * $Id$
  */
 
-//  ***************************************************
-//  * ESD particle level cuts for azimuthal isotropic *
-//  * expansion in highly central collisions analysis *
-//  * author: Cristian Andrei                         *
-//  *         acristian@niham.nipne.ro                *
-//  ***************************************************
+// ---------------------------------------------------
+//  ESD particle level cuts for azimuthal isotropic
+//  expansion in highly central collisions analysis
+//  author: Cristian Andrei
+//           acristian@niham.nipne.ro
+// ---------------------------------------------------
 
+
+#include <TString.h>
 #include <TPDGCode.h>
 
 #include "AliAnalysisCuts.h"
 
+
 class TObject;
 class TList;
 class TF1;
-class TString;
 
 class AliESDtrack;
 
index b3fab4e98bffa6652b6082a11a3256a960407f0e..d90a567e2586ed6a4648a0cba5c8b67af6477dea 100644 (file)
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
 
-//  ***************************************************
-//  * ESD event level cuts for azimuthal isotropic    *
-//  * expansion in highly central collisions analysis *
-//  * author: Cristian Andrei                         *
-//  *         acristian@niham.nipne.ro                *
-//  ***************************************************
+// ---------------------------------------------------
+//  ESD event level cuts for azimuthal isotropic
+//  expansion in highly central collisions analysis
+//  author: Cristian Andrei
+//           acristian@niham.nipne.ro
+//  --------------------------------------------------
 
 #include "TMath.h"
 #include <TObjArray.h>
+#include <TList.h>
 
 #include "AliESDEvent.h"
 #include "AliESDtrack.h"
 #include "AliESDtrackCuts.h"
-#include "AliMultiplicity.h"
-#include "AliAnalysisCentralCutESD.h"
+ #include "AliMultiplicity.h"
 
+#include "AliAnalysisCentralCutESD.h"
 #include "AliAnalysisCentralCutEvtESD.h"
 
+class TObject;
+
+
 //____________________________________________________________________
 ClassImp(AliAnalysisCentralCutEvtESD)
 
@@ -56,6 +60,13 @@ AliAnalysisCentralCutEvtESD::AliAnalysisCentralCutEvtESD(const Char_t* name, con
                fCutsList[i] = 0;
     }
 
+       InitCuts();
+       if (!fCutsList) {
+               Printf("ERROR: fCutsList not available");
+               return;
+    }
+
+       printf("AliAnalysisCentralCutEvtESD::Constructor\n");
 }
 
 AliAnalysisCentralCutEvtESD::~AliAnalysisCentralCutEvtESD() {
@@ -64,6 +75,7 @@ AliAnalysisCentralCutEvtESD::~AliAnalysisCentralCutEvtESD() {
                delete [] fCutsList;
        }
 
+       printf("AliAnalysisCentralCutEvtESD::Destructor\n");
 }
 
 
@@ -71,13 +83,12 @@ AliAnalysisCentralCutEvtESD::~AliAnalysisCentralCutEvtESD() {
 Bool_t AliAnalysisCentralCutEvtESD::IsSelected(TObject *obj){
 // check whether the event passes the cuts
     AliESDEvent *esdEvent = dynamic_cast<AliESDEvent *>(obj);
-
     if(!esdEvent){
                printf("AliAnalysisCentralCutEvtESD:IsSelected ->Can't get ESD event!\n");
                return kFALSE;
     }
 
-    if(fReqMult){
+       if(fReqMult){
                Int_t mult = CalcMult(esdEvent);
                if((mult<fMultMin)||(mult>fMultMax)){
                        return kFALSE;
@@ -193,7 +204,7 @@ Double_t AliAnalysisCentralCutEvtESD::CalcDir(AliESDEvent* const esdEv) {
 
 //Compute the directivity - FULL ALICE
 
-    InitCuts();
+//     InitCuts();
 
     Double_t dir;
     Double_t px,py;
@@ -247,7 +258,7 @@ Int_t AliAnalysisCentralCutEvtESD::CalcMult(AliESDEvent* const esdEv) {
 
 //Compute multiplicity - FULL ALICE
 
-    InitCuts();
+//     InitCuts();
 
     Int_t charged = 0;
 
@@ -284,7 +295,7 @@ Double_t AliAnalysisCentralCutEvtESD::CalcSPDDir(AliESDEvent* const esdEv) {
 
 //Compute directivity - SPD ONLY
 
-    InitCuts();
+//     InitCuts();
 
     Double_t dirU;
     Double_t pxU,pyU;
@@ -342,7 +353,7 @@ Int_t AliAnalysisCentralCutEvtESD::CalcSPDMult(AliESDEvent* const esdEv) {
 
        //Compute multiplicity - SPD ONLY
 
-    InitCuts();
+//     InitCuts();
 
     const AliMultiplicity *spdMult=esdEv->GetMultiplicity();
     if(!spdMult){
index c474e03503f134dca3ffb43b8a89b039bffa7a20..b6b1c8a252a6d0f6864003bcec270e87f366182b 100644 (file)
@@ -1,26 +1,30 @@
 #ifndef ALIANALYSISCENTRALCUTEVTESD_H
 #define ALIANALYSISCENTRALCUTEVTESD_H
+
 /*
  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
  * See cxx source for full Copyright notice
  * $Id$
  */
 
-//  *****************************************************
-//  * ESD event level cuts for azimuthal isotropic     *
-//  * expansion in highly central collisions analysis   *
-//  * author: Cristian Andrei                           *
-//  *         acristian@niham.nipne.ro                  *
-//  *****************************************************
+// ---------------------------------------------------
+//  ESD event level cuts for azimuthal isotropic
+//  expansion in highly central collisions analysis
+//  author: Cristian Andrei
+//           acristian@niham.nipne.ro
+//  --------------------------------------------------
+
 
 #include "AliAnalysisCuts.h"
 
+
 class TObject;
 class TObjArray;
 class TList;
 
 class AliESDEvent;
 
+
 class AliAnalysisCentralCutEvtESD: public AliAnalysisCuts {
 public:
     AliAnalysisCentralCutEvtESD(const char *name="AliAnalysisCentralCutEvtESD", const char *title="ESD_Event_cuts");
index 9ca9e36520daaac5fe059d2c07181f8f536d6053..32ad57b67c64a6985fada842c37533a8dbf9f1ae 100644 (file)
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
 
-//  ***************************************************
-//  * MC event level cuts for azimuthal isotropic     *
-//  * expansion in highly central collisions analysis *
-//  * author: Cristian ANDREI                         *
-//  *         acristian@niham.nipne.ro                *
-//  ***************************************************
+// ---------------------------------------------------
+//  MC event level cuts for azimuthal isotropic
+//  expansion in highly central collisions analysis
+//  author: Cristian ANDREI
+//          acristian@niham.nipne.ro
+// ----------------------------------------------------
+
 
 #include <TParticle.h>
 
 #include "AliStack.h"
 
 #include "AliAnalysisCentralCutEvtMC.h"
+
+
+class TObject;
+
 //____________________________________________________________________
 ClassImp(AliAnalysisCentralCutEvtMC)
 
@@ -44,12 +49,12 @@ AliAnalysisCentralCutEvtMC::AliAnalysisCentralCutEvtMC(const Char_t* name, const
 
 {
     //constructor
-
+       printf("AliAnalysisCentralCutEvtMC::Constructor\n");
 }
 
 AliAnalysisCentralCutEvtMC::~AliAnalysisCentralCutEvtMC(){
 //destructor
-
+printf("AliAnalysisCentralCutEvtMC::Destructor\n");
 }
 
 //___________________________________________________________________________
index b388a034ce4977facc9c67e1cb5c377c134bbdce..6166387e88cc2965e6e09e0cdb42a43ffca26808 100644 (file)
@@ -1,24 +1,30 @@
 #ifndef ALIANALYSISCENTRALCUTEVTMC_H
 #define ALIANALYSISCENTRALCUTEVTMC_H
+
+
 /*
  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
  * See cxx source for full Copyright notice
  * $Id$
  */
 
-//  ***************************************************
-//  * MC event level cuts for azimuthal isotropic     *
-//  * expansion in highly central collisions analysis *
-//  * author: Cristian Andrei                         *
-//  *         acristian@niham.nipne.ro                *
-//  ***************************************************
+// ---------------------------------------------------
+//  MC event level cuts for azimuthal isotropic
+//  expansion in highly central collisions analysis
+//  author: Cristian Andrei
+//          acristian@niham.nipne.ro
+// ----------------------------------------------------
+
+
 
 #include "AliAnalysisCuts.h"
 
+
 class TObject;
 class AliMCEvent;
 class AliStack;
 
+
 class AliAnalysisCentralCutEvtMC: public AliAnalysisCuts {
  public:
        AliAnalysisCentralCutEvtMC(const char *name="AliAnalysisCentralCutEvtMC", const char *title="MC_cuts");
index 8e3486f41f6a9d4a5a182780c008e99b423a9dc5..7ba292d8e8559533af1a6965548193509dc8699c 100644 (file)
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
 
-//  ***************************************************
-//  * MC particle level cuts for azimuthal isotropic  *
-//  * expansion in highly central collisions analysis *
-//  * author: Cristian Andrei                         *
-//  *         acristian@niham.nipne.ro                *
-//  * *************************************************
+//  ----------------------------------------------------
+//  MC particle level cuts for azimuthal isotropic
+//  expansion in highly central collisions analysis 
+//  author: Cristian Andrei
+//          acristian@niham.nipne.ro
+//  ----------------------------------------------------
 
 #include <TParticle.h>
 
@@ -27,6 +27,9 @@
 #include "AliMCParticle.h"
 
 #include "AliAnalysisCentralCutMC.h"
+
+class TObject;
+
 //____________________________________________________________________
 ClassImp(AliAnalysisCentralCutMC)
 
@@ -48,6 +51,8 @@ AliAnalysisCentralCutMC::AliAnalysisCentralCutMC(const Char_t* name, const Char_
     SetPDGCode();
     SetPtRange();
     SetEtaRange();
+
+       printf("AliAnalysisCentralCutMC::Constructor\n");
 }
 
 //____________________________________________________________________
@@ -56,6 +61,7 @@ AliAnalysisCentralCutMC::~AliAnalysisCentralCutMC(){
 
     if(fMCEvt) delete fMCEvt;
 
+       printf("AliAnalysisCentralCutMC::Destructor\n");
 }
 
 //___________________________________________________________________________
index 79532ef5344f6eb6b73dc38c91b3b7ff24d89737..05ad4e252e0ac0bfcc4c9de3b7aa892beb8898d8 100644 (file)
@@ -1,20 +1,23 @@
 #ifndef ALIANALYSISCENTRALCUTMC_H
 #define ALIANALYSISCENTRALCUTMC_H
+
 /*
  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
  * See cxx source for full Copyright notice
  * $Id$
  */
 
-//  ***************************************************
-//  * MC particle level cuts for azimuthal isotropic  *
-//  * expansion in highly central collisions analysis *
-//  * author: Cristian Andrei                         *
-//  *         acristian@niham.nipne.ro                *
-//  * *************************************************
+// ---------------------------------------------------
+//  MC particle level cuts for azimuthal isotropic
+//  expansion in highly central collisions analysis
+//  author: Cristian Andrei
+//          acristian@niham.nipne.ro
+//  --------------------------------------------------
+
 
 #include "AliAnalysisCuts.h"
 
+
 class TObject;
 class TList;
 
@@ -22,6 +25,7 @@ class AliStack;
 class AliMCEvent;
 class AliMCParticle;
 
+
 class AliAnalysisCentralCutMC: public AliAnalysisCuts{
  public:
   AliAnalysisCentralCutMC(const char *name="AliAnalysisCentralCutMC", const char *title="MC_cuts");
index 6465eee46c28ee1b65bf8b61579bd4dd3a49c63c..6907ac7ec5c6570e3efa21805b7ffdd02b4e87e6 100644 (file)
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
 
-//  *********************************************************
-//  * pt spectra extrapolation in the 0. - 0.2 region using *
-//  * Boltzmann-Gibbs Blast Wave model or Tsallis Blast     *
-//  * Wave model for azimuthal isotropic  expansion in      *
-//  * highly central collisions analysis                    *
-//  * author: Cristian Andrei                               *
-//  *         acristian@niham.nipne.ro                      *
-//  * *******************************************************
+//  -------------------------------------------------------
+//  pt spectra extrapolation in the 0. - 0.2 region using
+//  Boltzmann-Gibbs Blast Wave model or Tsallis Blast
+//  Wave model for azimuthal isotropic  expansion in
+//  highly central collisions analysis
+//  author: Cristian Andrei
+//          acristian@niham.nipne.ro
+//  ----------------------------------------------------------
+
 
 #include "TH1D.h"
 #include "TFile.h"
 #include "TList.h"
-// #include "TCanvas.h"
-// #include "TLegend.h"
+#include "TCanvas.h"
+#include "TLegend.h"
 // #include "TString.h"
 // #include "TPaveStats.h"
 #include "TMath.h"
@@ -52,14 +53,14 @@ ClassImp(AliAnalysisCentralExtrapolate)
 AliAnalysisCentralExtrapolate::AliAnalysisCentralExtrapolate(const char *name) 
   : TObject()
   ,fPartType()
-  ,fInputList(0x0)
+  ,fInputList(0)
   ,fResultsList(0x0)
 
 {
 // Constructor
 
 //  printf("AliAnalysisCentralExtrapolate::AliAnalysisCentralExtrapolate(const char *name)\n");
-
+       fInputList = new TList();
        fResultsList = new TList();
        
 }
@@ -89,15 +90,14 @@ void AliAnalysisCentralExtrapolate::ApplyEff(){
     Int_t stepRec = 1;
 
        AliCFContainer *data = 0;
-
+       
+       
        TFile *file1 = new TFile("$ALICE_ROOT/PWG2/data/AliAnalysisCentralEfficiency.root", "read");
     
     AliCFEffGrid *eff = 0;
     
-//     TCanvas *ccorrdata;
-       
-       if(fPartType.Contains("kPi")){
-               data = dynamic_cast<AliCFContainer*>(fInputList->FindObject("AliAnalysisCentral_CFCont_Pi"));
+    if(fPartType.Contains("kPi")){
+               data = dynamic_cast<AliCFContainer*>(fInputList->FindObject("TaskCentral_CFCont_Pi"));
                eff = dynamic_cast<AliCFEffGrid*>(file1->Get("eff_Pi"));
                mass= 0.13957;//(GeV - pions)
 //             ccorrdata =new TCanvas("Pions ccorrdata","Pions - corrected data",0,0,600,800);
@@ -105,7 +105,7 @@ void AliAnalysisCentralExtrapolate::ApplyEff(){
                printf("\tRunning for pions!\n");
        }
        else if(fPartType.Contains("kK")){
-               data = dynamic_cast<AliCFContainer*>(fInputList->FindObject("AliAnalysisCentral_CFCont_K"));
+               data = dynamic_cast<AliCFContainer*>(fInputList->FindObject("TaskCentral_CFCont_K"));
                eff = dynamic_cast<AliCFEffGrid*>(file1->Get("eff_K"));
                mass= 0.49368;//(GeV - kaons)
 //             ccorrdata =new TCanvas("Kaons ccorrdata","Kaons - corrected data",0,0,600,800);
@@ -113,7 +113,7 @@ void AliAnalysisCentralExtrapolate::ApplyEff(){
                printf("\tRunning for kaons!\n");
        }
        else if(fPartType.Contains("kProton")){
-               data = dynamic_cast<AliCFContainer*>(fInputList->FindObject("AliAnalysisCentral_CFCont_P"));
+               data = dynamic_cast<AliCFContainer*>(fInputList->FindObject("TaskCentral_CFCont_P"));
                eff = dynamic_cast<AliCFEffGrid*>(file1->Get("eff_P"));
                mass = 0.93827;//(GeV - protons)
 //             ccorrdata =new TCanvas("Protons ccorrdata","Protons - corrected data",0,0,600,800);
@@ -131,10 +131,11 @@ void AliAnalysisCentralExtrapolate::ApplyEff(){
                printf("No Eff Grid found! \n");
                return;
     }
+       
+//     TCanvas *ccorrdata = new TCanvas();
 //     ccorrdata->Divide(1,2);
 //     ccorrdata->cd(1);
-//  ccorrdata->cd(1)->SetLogy();
+//     ccorrdata->cd(1)->SetLogy();
 
  
     AliCFDataGrid *corrdata = new AliCFDataGrid("corrdata","corrected data",*data);
@@ -143,17 +144,17 @@ void AliAnalysisCentralExtrapolate::ApplyEff(){
     corrdata->SetMeasured(stepRec); //set data to be corrected
     corrdata->ApplyEffCorrection(*eff);//apply the correction for efficiency
 
-    TH1D *hPtMC = data->ShowProjection(0,0); //MC distribution ShowProjection(ivar, istep)
-    hPtMC->SetMarkerStyle(20);
-    hPtMC->SetMarkerColor(kGreen-3);
-    hPtMC->GetXaxis()->SetTitle("p_{T}(GeV/c)");
-    hPtMC->GetYaxis()->SetTitle("#frac{dN}{p_{T}dp_{T}}");
+//     TH1D *hPtMC = data->ShowProjection(0,0); //MC distribution ShowProjection(ivar, istep)
+//     hPtMC->SetMarkerStyle(20);
+//     hPtMC->SetMarkerColor(kGreen-3);
+//     hPtMC->GetXaxis()->SetTitle("p_{T}(GeV/c)");
+//     hPtMC->GetYaxis()->SetTitle("#frac{dN}{p_{T}dp_{T}}");
 //     hPtMC->Draw("p e1");
-
-    TH1D *hPtESDI = corrdata->GetData()->Project(0); //uncorrected ESD  Project(ivar)
-    hPtESDI->SetMarkerStyle(25);
-    hPtESDI->SetMarkerColor(kBlue);
-    hPtESDI->GetXaxis()->SetTitle("Pt");
+// 
+//     TH1D *hPtESDI = corrdata->GetData()->Project(0); //uncorrected ESD  Project(ivar)
+//     hPtESDI->SetMarkerStyle(25);
+//     hPtESDI->SetMarkerColor(kBlue);
+//     hPtESDI->GetXaxis()->SetTitle("Pt");
 //     hPtESDI->Draw("p e1 same");
 
     TH1D *hPtESDCorr = corrdata->Project(0); //corrected data
@@ -171,20 +172,19 @@ void AliAnalysisCentralExtrapolate::ApplyEff(){
 
 //     ccorrdata->cd(2);
 //     ccorrdata->cd(2)->SetLogy();
-       
-       TH1D *efficiency = eff->Project(0); //the efficiency vs pt (ipt = 0)
-       efficiency->GetXaxis()->SetTitle("p_{T}(GeV/c)");
+//     
+//     TH1D *efficiency = eff->Project(0); //the efficiency vs pt (ipt = 0)
+//     efficiency->GetXaxis()->SetTitle("p_{T}(GeV/c)");
 //     efficiency->Draw();
 
 
-//scalez hist corectata la nr de ev
-
-       TH1F *hNoEvt = dynamic_cast<TH1F*>(fInputList->FindObject("AliAnalysisCentral_NoEvt"));
+       TH1F *hNoEvt = dynamic_cast<TH1F*>(fInputList->FindObject("TaskCentral_NoEvt"));
        if(!hNoEvt){
                printf("Unable to get the number of events! \n");
                return;
        }
 
+       
     Int_t noEvt = (Int_t)(hNoEvt->GetEntries());
 
     printf("\n** No of processed events = %i **\n",noEvt);
@@ -274,12 +274,12 @@ void AliAnalysisCentralExtrapolate::TsallisFit(){
 
        TH1D *ptSpectra  = dynamic_cast<TH1D*>(fResultsList->FindObject("hPtESDCorrNorm"));
        if(!ptSpectra){
-               printf("BoltzmannFit: Can't get the normalized spectrum\n");
+               printf("TsallisFit: Can't get the normalized spectrum\n");
                return; 
        }
 
        if(!ptSpectra->GetEntries()){
-               printf("BoltzmannFit: The fit data is empty!\n");
+               printf("TsallisFit: The fit data is empty!\n");
                return;
        }
 
@@ -289,9 +289,9 @@ void AliAnalysisCentralExtrapolate::TsallisFit(){
 
     gStyle->SetOptFit(1112);
 
-    ptFit->SetParName(0,"T");
-    ptFit->SetParName(1,"betaS");
-    ptFit->SetParName(2,"q");
+//     ptFit->SetParName(0,"T");
+//     ptFit->SetParName(1,"betaS");
+//     ptFit->SetParName(2,"q");
 
     ptFit->SetParameters(0.1,0.5,1.05); //GeV
     ptFit->SetParLimits(0,0.0,0.5);//GeV
@@ -361,20 +361,26 @@ Double_t func(Double_t r){
 
     Double_t betaR = betaS*(r/rMax);
 
+
     Double_t rho = TMath::ATanH(betaR);
 
+
        Double_t mt = sqrt(mass*mass + pt*pt);// !!! par[0]= pt !!!!!
-       
+
     Double_t argI0 = (pt*TMath::SinH(rho))/T; //T = par[1]
+       if(argI0>700.0) return 0.0; // !! floating point exception protection
 
     Double_t argK1 = (mt*TMath::CosH(rho))/T;
 
+       
     Double_t i0 = TMath::BesselI0(argI0);
 
+
     Double_t k1 = TMath::BesselK1(argK1);
 
-    Double_t f = r*mt*i0*k1;
 
+    Double_t f = r*mt*i0*k1;
+       
     return f;
 }
 
@@ -421,6 +427,8 @@ void AliAnalysisCentralExtrapolate::BoltzmannFit(){
                return; 
        }
 
+       printf("pt spectra get entries: %f\n",ptSpectra->GetEntries());
+
        if(!ptSpectra->GetEntries()){
                printf("BoltzmannFit: The fit data is empty!\n");
                return;
@@ -434,16 +442,16 @@ void AliAnalysisCentralExtrapolate::BoltzmannFit(){
 
     gStyle->SetOptFit(1112);
 
-    ptFit->SetParName(0,"T");
-    ptFit->SetParName(1,"betaS");
+//     ptFit->SetParName(0,"T");
+//     ptFit->SetParName(1,"betaS");
 
     ptFit->SetParameters(0.1,0.5); //GeV
-    ptFit->SetParLimits(0,0.0,0.5);//GeV
+    ptFit->SetParLimits(0,0.001,0.5);//GeV
     ptFit->SetParLimits(1,0.0,1.0);
-    
+
        ptSpectra->Fit("ptFit","Q R B ME I N");
 
-    timer.Stop(); 
+    timer.Stop();
     timer.Print();
 
 //  ----------- print the fit results ----------
index 839880cee82fb77603937e6e992e0e45a60a0c1a..49c7104e020ddf2290d3e05964c258153dd9180a 100644 (file)
@@ -1,19 +1,21 @@
 #ifndef ALIANALYSISCENTRALEXTRAPOLATE_H
 #define ALIANALYSISCENTRALEXTRAPOLATE_H
+
+
 /*
  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
  * See cxx source for full Copyright notice
  * $Id$
  */
 
-//  *********************************************************
-//  * pt spectra extrapolation in the 0. - 0.2 region using *
-//  * Boltzmann-Gibbs Blast Wave model or Tsallis Blast     *
-//  * Wave model for azimuthal isotropic  expansion in      *
-//  * highly central collisions analysis                    *
-//  * author: Cristian Andrei                               *
-//  *         acristian@niham.nipne.ro                      *
-//  * *******************************************************
+//  -------------------------------------------------------
+//  pt spectra extrapolation in the 0. - 0.2 region using
+//  Boltzmann-Gibbs Blast Wave model or Tsallis Blast
+//  Wave model for azimuthal isotropic  expansion in
+//  highly central collisions analysis
+//  author: Cristian Andrei
+//          acristian@niham.nipne.ro
+//  ----------------------------------------------------------
 
 
 #include "TObject.h"
@@ -28,7 +30,7 @@ public:
        virtual ~AliAnalysisCentralExtrapolate();
        
        void SetInputList(TList* const list) {fInputList = list;} //get the input from the task
-       
+
        void SetParticle(TString part) {fPartType = part;} //set the particle type to be processed
                                                        //suported: kPi*, kK* and kProton
 
@@ -46,7 +48,7 @@ private:
        TString fPartType; //can be kPi*, kK* or kProton
        
        TList *fInputList; //the input list = the output of the analysis Task
-       
+
        TList *fResultsList; //List containing the results: corrected, normalized and extrapolated spectra
        
        ClassDef(AliAnalysisCentralExtrapolate, 1); 
index ad24e506f243de6c70bd7c9acf55350d458e7a2c..f595eb6553065beb0f04d446ae994fa3e9706bd2 100644 (file)
 * provided "as is" without express or implied warranty.                  *
 **************************************************************************/
 
-//  ******************************************
-//  * analysis task for azimuthal isotropic  *
-//  * expansion in highly central collisions *
-//  * author: Cristian Andrei                *
-//  *         acristian@niham.nipne.ro       *
-//  ******************************************
+//  ------------------------------------------
+//  analysis task for azimuthal isotropic
+//  expansion in highly central collisions
+//  author: Cristian Andrei
+//          acristian@niham.nipne.ro
+//  ------------------------------------------
 
 #include "TChain.h"
 #include "TTree.h"
@@ -26,7 +26,7 @@
 #include "TList.h"
 #include "TObjArray.h"
 #include "TString.h"
-// #include "TCanvas.h"
+#include "TFile.h"
 
 #include "AliAnalysisManager.h"
 #include "AliMCEvent.h"
@@ -35,6 +35,8 @@
 #include "AliESDInputHandler.h"
 #include "AliESDtrackCuts.h"
 #include "AliCFContainer.h"
+#include "AliAnalysisDataContainer.h"
+#include "AliAnalysisDataSlot.h"
 
 #include "AliAnalysisCentralCutMC.h"
 #include "AliAnalysisCentralCutESD.h"
@@ -72,6 +74,13 @@ AliAnalysisTaskCentral::AliAnalysisTaskCentral(const char *name)
                fCutsList[i] = 0;
     } 
 
+       InitCuts(); //initialize the analysis specific cuts     
+    if (!fCutsList) {
+               Printf("ERROR: fCutsList not available");
+               return;
+    }
+       
+       printf("AliAnalysisTaskCentral::Constructor\n");
 }
 
 
@@ -96,6 +105,7 @@ AliAnalysisTaskCentral::~AliAnalysisTaskCentral()
        
        if(fOutList) delete fOutList;
 
+       printf("AliAnalysisTaskCentral::Destructor\n");
 }
 
 //________________________________________________________________________
@@ -126,8 +136,9 @@ void AliAnalysisTaskCentral::ConnectInputData(Option_t *) {
 void AliAnalysisTaskCentral::CreateOutputObjects(){
 //Creates the output list
 
-       fNoEvt = new TH1F(Form("%s_NoEvt",GetName()), "Number of processed events", 1, 0.0, 1.0);
+//     fNoEvt = new TH1F(Form("%s_NoEvt",GetName()), "Number of processed events", 1, 0.0, 1.0);
 
+       fNoEvt = new TH1F("TaskCentral_NoEvt", "Number of processed events", 1, 0.0, 1.0);
 //set here the:     
     //min and max variable values (to do: move these to a separate cuts class)
     const Double_t ptmin  = 0.0 ; //bins in pt
@@ -161,9 +172,9 @@ void AliAnalysisTaskCentral::CreateOutputObjects(){
     for(Int_t i=0; i<=nbineta; i++) binLim2[i]=(Double_t)etamin  + (etamax-etamin)  /nbineta*(Double_t)i ;
 
        //container creation
-       fCFContainerPi = new AliCFContainer(Form("%s_CFCont_Pi",GetName()),"container for tracks",nstep,nvar,iBin);
-       fCFContainerK = new AliCFContainer(Form("%s_CFCont_K",GetName()),"container for tracks",nstep,nvar,iBin);
-       fCFContainerP = new AliCFContainer(Form("%s_CFCont_P",GetName()),"container for tracks",nstep,nvar,iBin);
+       fCFContainerPi = new AliCFContainer("TaskCentral_CFCont_Pi","container for tracks",nstep,nvar,iBin);
+       fCFContainerK = new AliCFContainer("TaskCentral_CFCont_K","container for tracks",nstep,nvar,iBin);
+       fCFContainerP = new AliCFContainer("TaskCentral_CFCont_P","container for tracks",nstep,nvar,iBin);
        
     //setting the bin limits
     fCFContainerPi -> SetBinLimits(ipt,binLim1);
@@ -341,6 +352,7 @@ void AliAnalysisTaskCentral::SendEvent(TObject *obj) const{
 Bool_t AliAnalysisTaskCentral::CheckCuts(Int_t no, TObject *obj) const{ 
 
 // For each cut run IsSelected();
+//     printf("AliAnalysisTaskCentral::CheckCuts IN\n");
 
     if(no > 10){
                printf("\nAliAnalysisTaskCentral::CheckCuts -> Cut number is not ok! \n");
@@ -356,9 +368,13 @@ Bool_t AliAnalysisTaskCentral::CheckCuts(Int_t no, TObject *obj) const{
     AliAnalysisCuts *cut = 0;
 
     while((cut = (AliAnalysisCuts*)iter.Next())){
-               if(!cut->IsSelected(obj)) return kFALSE;
+               if(!cut->IsSelected(obj)){
+//                     printf("AliAnalysisTaskCentral::CheckCuts OUT\n");
+                       return kFALSE;
+               }
     }
 
+//     printf("AliAnalysisTaskCentral::CheckCuts OUT\n");
     return kTRUE;
 }
 
@@ -369,12 +385,6 @@ void AliAnalysisTaskCentral::Exec(Option_t *) {
 // Main loop
 // Called for each event
        
-       InitCuts(); //initialize the analysis specific cuts     
-    if (!fCutsList) {
-               Printf("ERROR: fCutsList not available");
-               return;
-    }
-
        Double_t pt, eta;
        Double_t w = 1.0;    
        const Int_t nvar=2; //number of variables on the grid:pt,vtx
@@ -508,7 +518,7 @@ void AliAnalysisTaskCentral::Terminate(Option_t *) {
        extK->SetParticle("kKPlus");
        extK->ApplyEff();
        extK->BoltzmannFit();
-       extK->TsallisFit();
+       extK->TsallisFit();
        TList *extOutListK = extK->GetOutputList();
        
        AliAnalysisCentralExtrapolate *extP = new AliAnalysisCentralExtrapolate("extrapolationP");
@@ -516,11 +526,41 @@ void AliAnalysisTaskCentral::Terminate(Option_t *) {
        extP->SetParticle("kProton");
        extP->ApplyEff();
        extP->BoltzmannFit();
-       extP->TsallisFit();
+       extP->TsallisFit();
        TList *extOutListP = extP->GetOutputList();
 
-       fOutList->Add(extOutListPi);
-       fOutList->Add(extOutListK);
-       fOutList->Add(extOutListP);
+
+    AliAnalysisManager *mgr = AliAnalysisManager::GetAnalysisManager();
+       if(!mgr){
+               printf("Unable to get AnalysisManager! \n");
+        return;
+       }
+
+       TString anaType;
+       mgr->GetAnalysisTypeString(anaType);
+
+       if(anaType.Contains("local")){
+               fOutList->Add(extOutListPi);
+               fOutList->Add(extOutListK);
+               fOutList->Add(extOutListP);
+       }
+       else{
+               AliAnalysisDataContainer *cont = GetOutputSlot(0)->GetContainer();
+               if(!cont){
+                       printf("Unable to get DataContainer! \n");
+                       return;
+               }
+       
+               printf("file name = %s\n", cont->GetFileName());
+               TFile file(cont->GetFileName(),"update");
+       
+               file.cd("PWG2Central");
+       
+               gFile->WriteObject(extOutListPi,"pion_list","SingleKey");
+               gFile->WriteObject(extOutListK,"kaon_list","SingleKey");
+               gFile->WriteObject(extOutListP,"proton_list","SingleKey");
+               file.Close();
+       }
+
 
 }
index 1fde3aaa3a4fb649840cd33fd0c1e9b4fd830727..5b19a6c2841f0a8bb60651e9e72f84090ac7d0a9 100644 (file)
@@ -1,17 +1,18 @@
-#ifndef ALI_ANALYSIS_TASK_CENTRAL_H
-#define ALI_ANALYSIS_TASK_CENTRAL_H
+#ifndef ALIANALYSISTASKCENTRAL_H
+#define ALIANALYSISTASKCENTRAL_H
+
 /*
  * Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved.
  * See cxx source for full Copyright notice
  * $Id$
  */
 
-//  ******************************************
-//  * analysis task for azimuthal isotropic  *
-//  * expansion in highly central collisions *
-//  * author: Cristian Andrei                *
-//  *         acristian@niham.nipne.ro       *
-//  ******************************************
+//-----------------------------------------
+//  analysis task for azimuthal isotropic
+//  expansion in highly central collisions
+//  author: Cristian Andrei
+//         acristian@niham.nipne.ro
+//-----------------------------------------
 
 #include "AliAnalysisTask.h"