]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - PWG4/totEt/AliAnalysisTaskHadEt.cxx
Changing particle codes and masses to static variables, fixing a bug in the backgroun...
[u/mrichter/AliRoot.git] / PWG4 / totEt / AliAnalysisTaskHadEt.cxx
index 487cbd543573266d7ea7fe8fb67ec49d73054bf5..e5b053215f2c09ab3b50dc0463fa6d1171bc4d53 100644 (file)
@@ -1,31 +1,26 @@
-//Create by Christine Nattrass, Rebecca Scott, Irakli Martashvili
+//_________________________________________________________________________
+//  Utility Class for transverse energy studies; charged hadrons
+//  Task for analysis
+//  - reconstruction and MC output
+// implementation file
+//
+//Created by Christine Nattrass, Rebecca Scott, Irakli Martashvili
 //University of Tennessee at Knoxville
+//_________________________________________________________________________
+
 #include "TChain.h"
-#include "TTree.h"
-#include "TH1F.h"
+#include "TList.h"
 #include "TH2F.h"
-#include "TNtuple.h"
-#include "TCanvas.h"
-#include "TMath.h"
-#include "TObjArray.h"
-
-#include "AliAnalysisTask.h"
-#include "AliAnalysisManager.h"
 
 #include "AliESDEvent.h"
-#include "AliAODEvent.h"
-#include "AliVEvent.h"
-#include "AliVTrack.h"
-#include "AliVParticle.h"
-#include "AliESDtrack.h"
-#include "AliESDInputHandler.h"
 #include "AliMCEvent.h"
-#include "AliMCParticle.h"
-#include "TDatabasePDG.h"
+#include "AliESDtrackCuts.h"
+
 #include "AliAnalysisTaskHadEt.h"
+#include "AliAnalysisHadEtReconstructed.h"
+#include "AliAnalysisHadEtMonteCarlo.h"
 
 #include <iostream>
-#include "AliStack.h"
 
 using namespace std;
 
@@ -36,32 +31,21 @@ ClassImp(AliAnalysisTaskHadEt)
 //________________________________________________________________________
 AliAnalysisTaskHadEt::AliAnalysisTaskHadEt(const char *name) :
         AliAnalysisTaskSE(name)
-        ,fESD(0)
         ,fOutputList(0)
         ,fRecAnalysis(0)
         ,fMCAnalysis(0)
         ,fHistEtRecvsEtMC(0)
-        ,fTriggerSelection(false)
-        ,fCount(0)
-        ,fkPhotonPdg(22)
-        ,fkProtonMass(.938)
-        ,fPdgDB(0)
-        ,fRecEventVars(0)
-        ,fSimEventVars(0)
-        ,ffesdtrackCutsITSTPC(0)
-        ,fesdtrackCutsTPC(0)
-        ,fesdtrackCutsITS(0)
+        ,fEsdtrackCutsITSTPC(0)
+        ,fEsdtrackCutsTPC(0)
+        ,fEsdtrackCutsITS(0)
 {
     // Constructor
 
-    fRecAnalysis = new AliAnalysisHadEtReconstructed();
-    fRecAnalysis->Init();
     fMCAnalysis = new AliAnalysisHadEtMonteCarlo();
     fMCAnalysis->Init();
-    if(!fPdgDB) fPdgDB = new TDatabasePDG();
 
-    fTriggerSelection = false;
-    fCount = 0;
+    fRecAnalysis = new AliAnalysisHadEtReconstructed();
+    fRecAnalysis->Init();
 
     // Define input and output slots here
     // Input slot #0 works with a TChain
@@ -69,7 +53,15 @@ AliAnalysisTaskHadEt::AliAnalysisTaskHadEt(const char *name) :
     // Output slot #1 writes into a TH1 container
 
     DefineOutput(1, TList::Class());
-
+}
+AliAnalysisTaskHadEt::~AliAnalysisTaskHadEt(){//Destructor
+  fOutputList->Clear();
+  delete fOutputList;
+  delete fRecAnalysis;
+  delete fMCAnalysis;
+  delete fEsdtrackCutsITSTPC;
+  delete fEsdtrackCutsTPC;
+  delete fEsdtrackCutsITS;
 }
 
 
@@ -79,6 +71,7 @@ void AliAnalysisTaskHadEt::UserCreateOutputObjects()
     // Create histograms
     // Called once
   fOutputList = new TList;
+  fOutputList->SetOwner();
   fMCAnalysis->SetHistoList(fOutputList);
   fRecAnalysis->SetHistoList(fOutputList);
   fMCAnalysis->CreateHistograms();
@@ -88,26 +81,18 @@ void AliAnalysisTaskHadEt::UserCreateOutputObjects()
 
 
     Bool_t selectPrimaries=kTRUE;
-    ffesdtrackCutsITSTPC = AliESDtrackCuts::GetStandardITSTPCTrackCuts2009(selectPrimaries);
-    ffesdtrackCutsITSTPC->SetName("fEsdTrackCuts");
-    fesdtrackCutsTPC = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
-    fesdtrackCutsTPC->SetName("fEsdTrackCutsTPCOnly");
+    fEsdtrackCutsITSTPC = AliESDtrackCuts::GetStandardITSTPCTrackCuts2009(selectPrimaries);
+    fEsdtrackCutsITSTPC->SetName("fEsdTrackCuts");
+    fEsdtrackCutsTPC = AliESDtrackCuts::GetStandardTPCOnlyTrackCuts();
+    fEsdtrackCutsTPC->SetName("fEsdTrackCutsTPCOnly");
     //ITS stand alone cuts - similar to 2009 cuts but with only ITS hits required
-    fesdtrackCutsITS =  new AliESDtrackCuts;
-    fesdtrackCutsITS->SetName("fEsdTrackCutsITS");
-    fesdtrackCutsITS->SetRequireITSRefit(kTRUE);
-    fesdtrackCutsITS->SetRequireITSStandAlone(kTRUE);
-    fesdtrackCutsITS->SetClusterRequirementITS(AliESDtrackCuts::kSPD, AliESDtrackCuts::kAny);
-    fesdtrackCutsITS->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
-    fesdtrackCutsITS->SetMaxDCAToVertexZ(1.e6);
-    fesdtrackCutsITS->SetDCAToVertex2D(kFALSE);
-    fesdtrackCutsITS->SetRequireSigmaToVertex(kFALSE);
-    fesdtrackCutsITS->SetAcceptKinkDaughters(kFALSE);
-
-    fOutputList->Add(ffesdtrackCutsITSTPC);
-    fOutputList->Add(fesdtrackCutsTPC);
-    fOutputList->Add(fesdtrackCutsITS);
-    if(ffesdtrackCutsITSTPC && fesdtrackCutsTPC){
+    fEsdtrackCutsITS =  AliESDtrackCuts::GetStandardITSPureSATrackCuts2009(kTRUE,kFALSE);//we do want primaries but we do not want to require PID info
+    fEsdtrackCutsITS->SetName("fEsdTrackCutsITS");
+
+    fOutputList->Add(fEsdtrackCutsITSTPC);
+    fOutputList->Add(fEsdtrackCutsTPC);
+    fOutputList->Add(fEsdtrackCutsITS);
+    if(fEsdtrackCutsITSTPC && fEsdtrackCutsTPC){
       fRecAnalysis->SetITSTrackCuts( GetITSTrackCuts());
       fMCAnalysis->SetITSTrackCuts( GetITSTrackCuts());
       fRecAnalysis->SetTPCITSTrackCuts( GetTPCITSTrackCuts());
@@ -119,29 +104,95 @@ void AliAnalysisTaskHadEt::UserCreateOutputObjects()
     else{
       Printf("Error: no track cuts!");
     }
-
 }
 
 //________________________________________________________________________
 void AliAnalysisTaskHadEt::UserExec(Option_t *)
-{
+{ // execute method
   AliESDEvent *event = dynamic_cast<AliESDEvent*>(InputEvent());
 if (!event) {
   Printf("ERROR: Could not retrieve event");
   return;
  }
-
 fRecAnalysis->AnalyseEvent(event);
 
 AliMCEvent* mcEvent = MCEvent();
 if (mcEvent)
   {
     ((AliAnalysisHadEtMonteCarlo*)fMCAnalysis)->AnalyseEvent((AliVEvent*)mcEvent,(AliVEvent*)event);
+    //cout<<"Simulated Hadronic Et "<<fMCAnalysis->GetSimulatedHadronicEt()<<" Reconstructed Hadronic Et "<<fRecAnalysis->GetCorrectedHadEtFullAcceptanceITS()<<endl;
+    //cout<<"Simulated Total Et "<<fMCAnalysis->GetSimulatedTotalEt()<<" Reconstructed Total Et "<<fRecAnalysis->GetCorrectedTotEtFullAcceptanceITS()<<endl;
+    fMCAnalysis->FillSimTotEtVsRecoTotEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtFullAcceptanceTPC() );
+    fMCAnalysis->FillSimTotEtVsRecoTotEtFullAcceptanceITS( fRecAnalysis->GetCorrectedTotEtFullAcceptanceITS() );
+//     fMCAnalysis->FillSimTotEtVsRecoTotEtEMCALAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceTPC() );
+//     fMCAnalysis->FillSimTotEtVsRecoTotEtEMCALAcceptanceITS( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceITS() );
+//     fMCAnalysis->FillSimTotEtVsRecoTotEtPHOSAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceTPC() );
+//     fMCAnalysis->FillSimTotEtVsRecoTotEtPHOSAcceptanceITS( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceITS() );
+    fMCAnalysis->FillSimTotEtVsRecoTotEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtFullAcceptanceTPCNoPID() );
+    fMCAnalysis->FillSimTotEtVsRecoTotEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtFullAcceptanceITSNoPID() );
+//     fMCAnalysis->FillSimTotEtVsRecoTotEtEMCALAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceTPCNoPID() );
+//     fMCAnalysis->FillSimTotEtVsRecoTotEtEMCALAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceITSNoPID() );
+//     fMCAnalysis->FillSimTotEtVsRecoTotEtPHOSAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceTPCNoPID() );
+//     fMCAnalysis->FillSimTotEtVsRecoTotEtPHOSAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceITSNoPID() );
+    fMCAnalysis->FillSimHadEtVsRecoHadEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtFullAcceptanceTPC() );
+    fMCAnalysis->FillSimHadEtVsRecoHadEtFullAcceptanceITS( fRecAnalysis->GetCorrectedHadEtFullAcceptanceITS() );
+//     fMCAnalysis->FillSimHadEtVsRecoHadEtEMCALAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceTPC() );
+//     fMCAnalysis->FillSimHadEtVsRecoHadEtEMCALAcceptanceITS( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceITS() );
+//     fMCAnalysis->FillSimHadEtVsRecoHadEtPHOSAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceTPC() );
+//     fMCAnalysis->FillSimHadEtVsRecoHadEtPHOSAcceptanceITS( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceITS() );
+    fMCAnalysis->FillSimHadEtVsRecoHadEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtFullAcceptanceTPCNoPID() );
+    fMCAnalysis->FillSimHadEtVsRecoHadEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtFullAcceptanceITSNoPID() );
+//     fMCAnalysis->FillSimHadEtVsRecoHadEtEMCALAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceTPCNoPID() );
+//     fMCAnalysis->FillSimHadEtVsRecoHadEtEMCALAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceITSNoPID() );
+//     fMCAnalysis->FillSimHadEtVsRecoHadEtPHOSAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceTPCNoPID() );
+//     fMCAnalysis->FillSimHadEtVsRecoHadEtPHOSAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceITSNoPID() );
+
+
+    fMCAnalysis->FillSimTotEtMinusRecoTotEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtFullAcceptanceTPC() );
+    fMCAnalysis->FillSimTotEtMinusRecoTotEtFullAcceptanceITS( fRecAnalysis->GetCorrectedTotEtFullAcceptanceITS() );
+//     fMCAnalysis->FillSimTotEtMinusRecoTotEtEMCALAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceTPC() );
+//     fMCAnalysis->FillSimTotEtMinusRecoTotEtEMCALAcceptanceITS( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceITS() );
+//     fMCAnalysis->FillSimTotEtMinusRecoTotEtPHOSAcceptanceTPC( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceTPC() );
+//     fMCAnalysis->FillSimTotEtMinusRecoTotEtPHOSAcceptanceITS( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceITS() );
+    fMCAnalysis->FillSimTotEtMinusRecoTotEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtFullAcceptanceTPCNoPID() );
+    fMCAnalysis->FillSimTotEtMinusRecoTotEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtFullAcceptanceITSNoPID() );
+//     fMCAnalysis->FillSimTotEtMinusRecoTotEtEMCALAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceTPCNoPID() );
+//     fMCAnalysis->FillSimTotEtMinusRecoTotEtEMCALAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtEMCALAcceptanceITSNoPID() );
+//     fMCAnalysis->FillSimTotEtMinusRecoTotEtPHOSAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceTPCNoPID() );
+//     fMCAnalysis->FillSimTotEtMinusRecoTotEtPHOSAcceptanceITSNoPID( fRecAnalysis->GetCorrectedTotEtPHOSAcceptanceITSNoPID() );
+    fMCAnalysis->FillSimHadEtMinusRecoHadEtFullAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtFullAcceptanceTPC() );
+    fMCAnalysis->FillSimHadEtMinusRecoHadEtFullAcceptanceITS( fRecAnalysis->GetCorrectedHadEtFullAcceptanceITS() );
+//     fMCAnalysis->FillSimHadEtMinusRecoHadEtEMCALAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceTPC() );
+//     fMCAnalysis->FillSimHadEtMinusRecoHadEtEMCALAcceptanceITS( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceITS() );
+//     fMCAnalysis->FillSimHadEtMinusRecoHadEtPHOSAcceptanceTPC( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceTPC() );
+//     fMCAnalysis->FillSimHadEtMinusRecoHadEtPHOSAcceptanceITS( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceITS() );
+    fMCAnalysis->FillSimHadEtMinusRecoHadEtFullAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtFullAcceptanceTPCNoPID() );
+    fMCAnalysis->FillSimHadEtMinusRecoHadEtFullAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtFullAcceptanceITSNoPID() );
+//     fMCAnalysis->FillSimHadEtMinusRecoHadEtEMCALAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceTPCNoPID() );
+//     fMCAnalysis->FillSimHadEtMinusRecoHadEtEMCALAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtEMCALAcceptanceITSNoPID() );
+//     fMCAnalysis->FillSimHadEtMinusRecoHadEtPHOSAcceptanceTPCNoPID( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceTPCNoPID() );
+//     fMCAnalysis->FillSimHadEtMinusRecoHadEtPHOSAcceptanceITSNoPID( fRecAnalysis->GetCorrectedHadEtPHOSAcceptanceITSNoPID() );
+
+
+    fMCAnalysis->FillSimTotEtMinusRawEtFullAcceptanceTPC( fRecAnalysis->GetRawEtFullAcceptanceTPC() );
+    fMCAnalysis->FillSimTotEtMinusRawEtFullAcceptanceITS( fRecAnalysis->GetRawEtFullAcceptanceITS() );
+//     fMCAnalysis->FillSimTotEtMinusRawTotEtEMCALAcceptanceTPC( fRecAnalysis->GetRawEtEMCALAcceptanceTPC() );
+//     fMCAnalysis->FillSimTotEtMinusRawTotEtEMCALAcceptanceITS( fRecAnalysis->GetRawEtEMCALAcceptanceITS() );
+//     fMCAnalysis->FillSimTotEtMinusRawTotEtPHOSAcceptanceTPC( fRecAnalysis->GetRawEtPHOSAcceptanceTPC() );
+//     fMCAnalysis->FillSimTotEtMinusRawTotEtPHOSAcceptanceITS( fRecAnalysis->GetRawEtPHOSAcceptanceITS() );
+
+    fMCAnalysis->FillSimHadEtMinusRawEtFullAcceptanceTPC( fRecAnalysis->GetRawEtFullAcceptanceTPC() );
+    fMCAnalysis->FillSimHadEtMinusRawEtFullAcceptanceITS( fRecAnalysis->GetRawEtFullAcceptanceITS() );
+//     fMCAnalysis->FillSimHadEtMinusRawHadEtEMCALAcceptanceTPC( fRecAnalysis->GetRawEtEMCALAcceptanceTPC() );
+//     fMCAnalysis->FillSimHadEtMinusRawHadEtEMCALAcceptanceITS( fRecAnalysis->GetRawEtEMCALAcceptanceITS() );
+//     fMCAnalysis->FillSimHadEtMinusRawHadEtPHOSAcceptanceTPC( fRecAnalysis->GetRawEtPHOSAcceptanceTPC() );
+//     fMCAnalysis->FillSimHadEtMinusRawHadEtPHOSAcceptanceITS( fRecAnalysis->GetRawEtPHOSAcceptanceITS() );
+
+
   }
 
 // Post output data.
 PostData(1, fOutputList);
 }
 
 //________________________________________________________________________