]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Added script to load PWG2 forward analysis libraries and dependants
authorcholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 1 Nov 2010 14:03:11 +0000 (14:03 +0000)
committercholm <cholm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 1 Nov 2010 14:03:11 +0000 (14:03 +0000)
PWG2/FORWARD/analysis/AliFMDAnalysisTaskCollector.cxx
PWG2/FORWARD/analysis/AliFMDAnalysisTaskCollector.h
PWG2/FORWARD/analysis/AliFMDAnalysisTaskDndeta.cxx
PWG2/FORWARD/analysis/AliFMDAnalysisTaskSE.cxx
PWG2/FORWARD/analysis/AliFMDAnalysisTaskSharing.cxx
PWG2/FORWARD/analysis/AliFMDDndeta.cxx
PWG2/FORWARD/analysis/LoadLibs.C [new file with mode: 0644]

index c62c6ace82d3e8b4be76712bf04f77121169ae44..d4813f186309c333b84db8144a302a546c79e270 100644 (file)
@@ -40,6 +40,7 @@
 #include "AliMultiplicity.h"
 #include "AliESDVertex.h"
 #include "AliFMDAnaParameters.h"
+
 //#include "AliFMDGeometry.h"
 
 
@@ -189,6 +190,16 @@ void AliFMDAnalysisTaskCollector::UserExec(Option_t */*option*/)
   if(!physics && !empty)
     return;
   
+  const AliMultiplicity* spdMult = esd->GetMultiplicity();
+  if(physics)
+    fClusters+= (spdMult->GetNumberOfSingleClusters() + spdMult->GetNumberOfTracklets());
+  
+  if(empty)
+    fClustersEmpty+= (spdMult->GetNumberOfSingleClusters() + spdMult->GetNumberOfTracklets());
+  
+  if(empty)
+    std::cout<<spdMult->GetNumberOfSingleClusters()<<"  "<<spdMult->GetNumberOfTracklets()<<std::endl;
+  
   TH1F* Edist = 0;
   TH1F* emptyEdist = 0;
   TH1F* ringEdist = 0;
@@ -241,6 +252,8 @@ void AliFMDAnalysisTaskCollector::UserExec(Option_t */*option*/)
   
 void AliFMDAnalysisTaskCollector::Terminate(Option_t */*option*/) {
   std::cout<<"Analysed "<<fEvents<<" events and "<<fEmptyEvents<<" empty"<<std::endl;
+  std::cout<<fClusters / fEvents << " clusters per physics event and "<<fClustersEmpty / fEmptyEvents<< " clusters per empty event"<<std::endl;
+
   AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
  
     
index e654083510b205bed97bc1c47df0038efbb2b587..2e7bc25b7426b58e8df2752c39a59a3bd4e56640 100644 (file)
@@ -49,6 +49,9 @@ private:
   TH1F*         fZvtxDist;
   Int_t         fEvents;
   Int_t         fEmptyEvents;
+  Float_t       fClusters;
+  Float_t       fClustersEmpty;
+  
   ClassDef(AliFMDAnalysisTaskCollector, 0); // Analysis task for FMD analysis
 };
  
index ace54633f78a4a77dd0f5b911b49e6fec05b19d8..d35c117f6bf3d652aee0247486f60643f47e4614 100644 (file)
@@ -29,6 +29,7 @@
 #include "AliFMDStripIndex.h"
 #include "AliESDInputHandler.h"
 #include "AliGenDPMjetEventHeader.h"
+#include "AliLog.h"
 ClassImp(AliFMDAnalysisTaskDndeta)
 
 
@@ -310,12 +311,20 @@ void AliFMDAnalysisTaskDndeta::Terminate(Option_t */*option*/) {
       for(Int_t i =0; i<nVtxbins; i++) {
        
        TH2F* hMultTotal = (TH2F*)fOutputList->FindObject(Form("dNdeta_FMD%d%c_vtxbin%d",det,ringChar,i));
-       if(fVtxEff)
+       fOutputList->Add(hMultTotal->Clone(Form("%s_orig", hMultTotal->GetName())));
+       if(fVtxEff) { 
+         AliInfo(Form("scaling %s with vertex efficiency %f", 
+                      hMultTotal->GetName(), fVtxEff));
          hMultTotal->Scale(fVtxEff);
+       }
        
        TH2F* hMultTotalNSD = (TH2F*)fOutputList->FindObject(Form("dNdetaNSD_FMD%d%c_vtxbin%d",det,ringChar,i));
-       if(fVtxEffNSD)
+       fOutputList->Add(hMultTotalNSD->Clone(Form("%s_orig", hMultTotalNSD->GetName())));
+       if(fVtxEffNSD) { 
+         AliInfo(Form("scaling %s with vertex efficiency %f", 
+                      hMultTotalNSD->GetName(), fVtxEffNSD));
          hMultTotalNSD->Scale(fVtxEffNSD);
+       }
        
        //TH2F* hMultTrVtx = (TH2F*)hMultTotal->Clone(Form("dNdeta_FMD%d%c_TrVtx_vtxbin%d",det,ringChar,i));
        TH2F* hMultTrVtx = (TH2F*)fOutputList->FindObject(Form("dNdetaTrVtx_FMD%d%c_vtxbin%d",det,ringChar,i));
index 651a8cbb6a6065adbe8b3744eb5c8dba6da8d130..676af537756abc40ef495d0970314d0f66aad82c 100644 (file)
@@ -106,16 +106,13 @@ void AliFMDAnalysisTaskSE::UserExec(Option_t */*option*/)
 {
   // Execute analysis for current event
   //
-  
   AliESDEvent* fESD = (AliESDEvent*)InputEvent();
   
   AliFMDAnaParameters* pars = AliFMDAnaParameters::Instance();
   
   // Centrality selection - work in progress
   Float_t centrality = 1;
-  
-  if( centrality < fCentralityLow || centrality > fCentralityHigh )
-    return;
+  if( centrality < fCentralityLow || centrality > fCentralityHigh )  return;
   
   //End of centrality selection
   
@@ -133,10 +130,8 @@ void AliFMDAnalysisTaskSE::UserExec(Option_t */*option*/)
     fDensity.Exec("");
     if(fDensity.GetEventStatus()) {
       fBackground.Exec("");  
-      if(pars->GetRunDndeta())
-       fDndeta.Exec("");
-      if(pars->GetRunBFCorrelation())
-       fBFCorrelation.Exec("");
+      if(pars->GetRunDndeta())        fDndeta.Exec("");
+      if(pars->GetRunBFCorrelation()) fBFCorrelation.Exec("");
     }
     else return;
   }
@@ -164,7 +159,11 @@ void AliFMDAnalysisTaskSE::Terminate(Option_t */*option*/)
       fDndeta.SetVtxEfficiency(fSharing.GetVtxEfficiencyFromData());
     else
       fDndeta.SetVtxEfficiency(pars->GetVtxSelectionEffFromMC());
-    std::cout<<fSharing.GetNSDVtxEfficiencyFromData()<<"   "<<fSharing.GetVtxEfficiencyFromData()<<"   "<<pars->GetVtxSelectionEffFromMC()<<std::endl;
+    
+    AliInfo(Form("Vertex efficiencies:  NSD_data=%f, INEL_data=%f, INEL_mc=%f", 
+                fSharing.GetNSDVtxEfficiencyFromData(),
+                fSharing.GetVtxEfficiencyFromData(),
+                pars->GetVtxSelectionEffFromMC()));
     
     if(fSharing.GetNSDVtxEfficiencyFromData() > 0)
       fDndeta.SetVtxEfficiencyNSD(fSharing.GetNSDVtxEfficiencyFromData());
index 77886e04198c28767dec3390effaf41a68e0a3d7..2287fd95a516365c9fecd88fd7e329d38f99933f 100644 (file)
@@ -386,7 +386,7 @@ void AliFMDAnalysisTaskSharing::Exec(Option_t */*option*/)
    
   if (!fmd) return;
   Int_t nHits[3][2] = {{0,0},{0,0},{0,0}};
-
+  //Int_t nDead = 0;
   for(UShort_t det=1;det<=3;det++) {
     Int_t nRings = (det==1 ? 1 : 2);
     for (UShort_t ir = 0; ir < nRings; ir++) {
@@ -403,14 +403,19 @@ void AliFMDAnalysisTaskSharing::Exec(Option_t */*option*/)
        for(UShort_t strip = 0; strip < nstr; strip++) {
          foutputESDFMD->SetMultiplicity(det,ring,sec,strip,0.);
          Float_t mult = fmd->Multiplicity(det,ring,sec,strip);
+         //if(mult == AliESDFMD::kInvalidMult) 
+         //  nDead++;
+         //  if(mult > 0)
+         //  std::cout<<mult<<std::endl;
          
-         if(mult == AliESDFMD::kInvalidMult || mult == 0) continue;
-         
+         if(mult == AliESDFMD::kInvalidMult || mult == 0 || mult > 20) continue;
         
          //Double_t eta = fmd->Eta(det,ring,sec,strip);
          Float_t eta = pars->GetEtaFromStrip(det,ring,sec,strip,vertex[2]);
                  
          hEdist->Fill(mult);
+         
+         
          if(fmd->IsAngleCorrected())
            mult = mult/TMath::Cos(Eta2Theta(eta));
          Float_t prevE = 0;
@@ -429,9 +434,7 @@ void AliFMDAnalysisTaskSharing::Exec(Option_t */*option*/)
            }
          
          Float_t mergedEnergy = GetMultiplicityOfStrip(mult,eta,prevE,nextE,det,ring,sec,strip);
-         //if(mult> (pars->GetMPV(det,ring,eta) - pars->GetSigma(det,ring,eta))) 
-         //  mergedEnergy = mult;
-         //else mergedEnergy = 0;
+         
          if(mergedEnergy > 0.3 )
            nHits[det-1][ir]++;
          foutputESDFMD->SetMultiplicity(det,ring,sec,strip,mergedEnergy);
@@ -441,10 +444,13 @@ void AliFMDAnalysisTaskSharing::Exec(Option_t */*option*/)
       }
     }
   }
+  
+  //std::cout<<nDead<<std::endl;
+  
   //cluster cut
   //if(testmult->GetNumberOfSingleClusters() > 15 + nTrackLets)
   //  {fStatus = kFALSE; std::cout<<"FMD : "<<nHits[0][0]<<"  "<<nHits[1][0]<<"   "<<nHits[1][1]<<"   "<<nHits[2][0]<<"   "<<nHits[2][1]<<" tracks  "<<testmult->GetNumberOfSingleClusters()<<"   "<<nTrackLets<<std::endl; return;}
-
+  
   TH2F*  hCorrelationFMD23  = (TH2F*)fDiagList->FindObject("hCorrelationFMD23");
   TH2F*  hCorrelationFMD12  = (TH2F*)fDiagList->FindObject("hCorrelationFMD12");
   TH2F*  hCorrelationFMD2diff23  = (TH2F*)fDiagList->FindObject("hCorrelationFMD2diff23");
@@ -587,7 +593,7 @@ void AliFMDAnalysisTaskSharing::Exec(Option_t */*option*/)
   hCorrelationFMDGoodtracks->Fill(ngood,nTotalFMDhits);
   hCorrelationFMDBadtracks->Fill(nbad,nTotalFMDhits);
   hCorrelationGoodbadtracks->Fill(ngood,nbad);
-    
+  
   if(fStandalone) {
     PostData(0, foutputESDFMD); 
     PostData(1, fEsdVertex); 
index 7908b4fc7a95cd76d8e2b8a36691bc58ca8b407b..03c9d41a89311fb162322bfa2ae56b6898196025 100644 (file)
@@ -869,6 +869,8 @@ void AliFMDDndeta::DrawDndeta(Analysis what, Int_t rebin, Bool_t realdata, TStri
          l->Draw();
          multhistproj->DrawCopy("same");
          TH1D* hSPDanavtxbin = 0;
+         if(what == kMult || what == kMultTrVtx || what == kMultNSD)  {
+         
          if(what == kMult)
            hSPDanavtxbin = (TH1D*)fList->FindObject(Form("dNdeta_SPD_vtxbin%d_proj",v));
          if(what == kMultTrVtx)
@@ -876,6 +878,7 @@ void AliFMDDndeta::DrawDndeta(Analysis what, Int_t rebin, Bool_t realdata, TStri
          
          if(what == kMultNSD)
            hSPDanavtxbin = (TH1D*)fList->FindObject(Form("dNdetaNSD_SPD_vtxbin%d_proj",v));
+         
          hSPDanavtxbin->SetMarkerColor(kBlue);
          hSPDanavtxbin->SetMarkerStyle(kStar);
          hSPDanavtxbin->Scale(xb1 / xr1);
@@ -890,27 +893,28 @@ void AliFMDDndeta::DrawDndeta(Analysis what, Int_t rebin, Bool_t realdata, TStri
             graph->Draw("sameP");
             graph2->Draw("sameP");
           }
+         }
        }
        else
          multhistproj->DrawCopy("same");
        
-       
+      
       }
     }
   }
   
   //Legends for corrections
   if(fDrawAll) {
-  for(Int_t v=0; v< nVertexBins; v++) {
-    TPad* pad= (TPad*)cCorrectionsPhi->cd(v+1);
-    pad->BuildLegend(0.15,0.45,0.45,0.9);
-    Double_t delta = 2*pars->GetVtxCutZ()/pars->GetNvtxBins();
-    Float_t vtxZ1   = (delta*v) - pars->GetVtxCutZ();
-    Float_t vtxZ2   = (delta*(v+1)) - pars->GetVtxCutZ();
-    TLatex* l = new TLatex(0.14,0.92,Form("Vtx range [%.1f, %.1f]",vtxZ1,vtxZ2));
-    l->SetNDC(kTRUE);
-    l->Draw();
-  }
+    for(Int_t v=0; v< nVertexBins; v++) {
+      TPad* pad= (TPad*)cCorrectionsPhi->cd(v+1);
+      pad->BuildLegend(0.15,0.45,0.45,0.9);
+      Double_t delta = 2*pars->GetVtxCutZ()/pars->GetNvtxBins();
+      Float_t vtxZ1   = (delta*v) - pars->GetVtxCutZ();
+      Float_t vtxZ2   = (delta*(v+1)) - pars->GetVtxCutZ();
+      TLatex* l = new TLatex(0.14,0.92,Form("Vtx range [%.1f, %.1f]",vtxZ1,vtxZ2));
+      l->SetNDC(kTRUE);
+      l->Draw();
+    }
   }
   for(Int_t v=0; v< nVertexBins; v++) {
     TH1F* sumMultHist = (TH1F*)fMultList[what]->FindObject(Form("hMult_vtxbin%d_%s",v,fAnalysisNames[what].Data()));
@@ -933,9 +937,9 @@ void AliFMDDndeta::DrawDndeta(Analysis what, Int_t rebin, Bool_t realdata, TStri
     }
   }
   
+  
   // End of SPD
-
+  
   
   //TH1F*  hPrim = (TH1F*)fList->FindObject(fPrimEvents.Data());
   //  TFile testhit("/home/canute/ALICE/Simulations/TestOfAnalysis2/hitsdist.root");
diff --git a/PWG2/FORWARD/analysis/LoadLibs.C b/PWG2/FORWARD/analysis/LoadLibs.C
new file mode 100644 (file)
index 0000000..aaaf3bc
--- /dev/null
@@ -0,0 +1,9 @@
+void
+LoadLibs()
+{
+  gSystem->Load("libANALYSIS");
+  gSystem->Load("libANALYSISalice");
+  gSystem->Load("libPWG0base");
+  gSystem->Load("libPWG2forward");
+}
+