]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
delete unused histograms + fixes for MC E_T
authordsilverm <dsilverm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 27 Sep 2010 06:45:11 +0000 (06:45 +0000)
committerdsilverm <dsilverm@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 27 Sep 2010 06:45:11 +0000 (06:45 +0000)
PWG4/totEt/AliAnalysisEt.cxx
PWG4/totEt/AliAnalysisEt.h
PWG4/totEt/AliAnalysisEtMonteCarlo.cxx

index b8122a80bf4a59fe3f8ddb4d098340e32223f20d..c248404e615b6f3448c33ced925b24cb1d9b1480 100644 (file)
@@ -49,6 +49,8 @@ AliAnalysisEt::AliAnalysisEt() :
         ,fAntiNeutronCode(0)
         ,fEPlusCode(0)
         ,fEMinusCode(0)
+        ,fMuPlusCode(0)
+        ,fMuMinusCode(0)
         ,fGammaCode(0)
         ,fPionMass(0)
         ,fTotEt(0)
@@ -63,9 +65,6 @@ AliAnalysisEt::AliAnalysisEt() :
         ,fBaryonEt(0)
         ,fAntiBaryonEt(0)
         ,fMesonEt(0)
-        ,fBaryonEtAcc(0)
-        ,fAntiBaryonEtAcc(0)
-        ,fMesonEtAcc(0)
         ,fProtonEt(0)
         ,fPionEt(0)
         ,fChargedKaonEt(0)
@@ -106,9 +105,6 @@ AliAnalysisEt::AliAnalysisEt() :
         ,fHistBaryonEt(0)
         ,fHistAntiBaryonEt(0)
         ,fHistMesonEt(0)
-        ,fHistBaryonEtAcc(0)
-        ,fHistAntiBaryonEtAcc(0)
-        ,fHistMesonEtAcc(0)
         ,fHistProtonEt(0)
         ,fHistPionEt(0)
         ,fHistChargedKaonEt(0)
@@ -122,7 +118,6 @@ AliAnalysisEt::AliAnalysisEt() :
         ,fHistChargedKaonEtAcc(0)
         ,fHistMuonEtAcc(0)
         ,fHistElectronEtAcc(0)
-        ,fHistEtRecvsEtMC(0)
         ,fHistTMDeltaR(0)
         ,fTree(0)
         ,fTreeDeposit(0)
@@ -156,10 +151,6 @@ void AliAnalysisEt::FillOutputList(TList *list)
     list->Add(fHistAntiBaryonEt);
     list->Add(fHistMesonEt);
 
-    list->Add(fHistBaryonEtAcc);
-    list->Add(fHistAntiBaryonEtAcc);
-    list->Add(fHistMesonEtAcc);
-
     list->Add(fHistProtonEt);
     list->Add(fHistPionEt);
     list->Add(fHistChargedKaonEt);
@@ -176,8 +167,6 @@ void AliAnalysisEt::FillOutputList(TList *list)
     list->Add(fHistMuonEtAcc);
     list->Add(fHistElectronEtAcc);
 
-    list->Add(fHistEtRecvsEtMC);
-
     list->Add(fHistTMDeltaR);
 
     if (fCuts) {
@@ -286,15 +275,6 @@ void AliAnalysisEt::CreateHistograms()
     histname = "fHistMesonEt" + fHistogramNameSuffix;
     fHistMesonEt = new TH1F(histname.Data(), "E_{T} for mesons",  nbinsEt, minEt, maxEt);
 
-    histname = "fHistBaryonEtAcc" + fHistogramNameSuffix;
-    fHistBaryonEtAcc = new TH1F(histname.Data(), "E_{T} for baryons in calorimeter acceptance",  nbinsEt, minEt, maxEt);
-
-    histname = "fHistAntiBaryonEtAcc" + fHistogramNameSuffix;
-    fHistAntiBaryonEtAcc = new TH1F(histname.Data(), "E_{T} for anti baryons in calorimeter acceptance",  nbinsEt, minEt, maxEt);
-
-    histname = "fHistMesonEtAcc" + fHistogramNameSuffix;
-    fHistMesonEtAcc = new TH1F(histname.Data(), "E_{T} for mesons in calorimeter acceptance",  nbinsEt, minEt, maxEt);
-
     histname = "fHistProtonEt" + fHistogramNameSuffix;
     fHistProtonEt = new TH1F(histname.Data(), "E_{T} for (anti-)protons", nbinsEt, minEt, maxEt);
 
@@ -334,9 +314,6 @@ void AliAnalysisEt::CreateHistograms()
     histname = "fHistElectronEtAcc" + fHistogramNameSuffix;
     fHistElectronEtAcc = new TH1F(histname.Data(), "E_{T} for electrons/positrons in calorimeter acceptance", nbinsEt, minEt, maxEt);
 
-    histname = "fHistEtRecvsEtMC" + fHistogramNameSuffix;
-    fHistEtRecvsEtMC = new TH2F(histname.Data(), "Reconstructed E_{t} vs MC E_{t}", nbinsEt, minEt, maxEt, nbinsEt, minEt, maxEt);
-
     //
     histname = "fHistTMDeltaR" + fHistogramNameSuffix;
     fHistTMDeltaR = new TH1F(histname.Data(), "#Delta R for calorimeter clusters", 200, 0, 50);
@@ -362,9 +339,6 @@ void AliAnalysisEt::CreateTrees()
     fTree->Branch("fBaryonEt",&fBaryonEt,"fBaryonEt/D");
     fTree->Branch("fAntiBaryonEt",&fAntiBaryonEt,"fAntiBaryonEt/D");
     fTree->Branch("fMesonEt",&fMesonEt,"fMesonEt/D");
-    fTree->Branch("fBaryonEtAcc",&fBaryonEtAcc,"fBaryonEtAcc/D");
-    fTree->Branch("fAntiBaryonEtAcc",&fAntiBaryonEtAcc,"fAntiBaryonEtAcc/D");
-    fTree->Branch("fMesonEtAcc",&fMesonEtAcc,"fMesonEtAcc/D");
     fTree->Branch("fProtonEt",&fProtonEt,"fProtonEt/D");
     fTree->Branch("fChargedKaonEt",&fChargedKaonEt,"fChargedKaonEt/D");
     fTree->Branch("fMuonEt",&fMuonEt,"fMuonEt/D");
@@ -388,6 +362,7 @@ void AliAnalysisEt::CreateTrees()
     fTreeDeposit->Branch("fTrackPassedCut", &fTrackPassedCut, "fTrackPassedCut/B");
  
   }
+
   return;
 }
 void AliAnalysisEt::FillHistograms()
@@ -408,10 +383,6 @@ void AliAnalysisEt::FillHistograms()
     fHistAntiBaryonEt->Fill(fAntiBaryonEt);
     fHistMesonEt->Fill(fMesonEt);
 
-    fHistBaryonEtAcc->Fill(fBaryonEtAcc);
-    fHistAntiBaryonEtAcc->Fill(fAntiBaryonEtAcc);
-    fHistMesonEtAcc->Fill(fMesonEtAcc);
     fHistProtonEt->Fill(fProtonEt);
     fHistPionEt->Fill(fPionEt);
     fHistChargedKaonEt->Fill(fChargedKaonEt);
@@ -456,20 +427,19 @@ void AliAnalysisEt::ResetEventValues()
   fBaryonEt = 0;
   fAntiBaryonEt = 0;
   fMesonEt = 0;
-  fBaryonEtAcc = 0;
-  fAntiBaryonEtAcc = 0;
-  fMesonEtAcc = 0;
   fProtonEt = 0;
+  fPionEt = 0;
   fChargedKaonEt = 0;
   fMuonEt = 0;
   fElectronEt = 0;
+  fNeutronEt = 0;
+  fAntiNeutronEt = 0;
+  fGammaEt = 0;
   fProtonEtAcc = 0;
+  fPionEtAcc = 0;
   fChargedKaonEtAcc = 0;
   fMuonEtAcc = 0;
   fElectronEtAcc = 0;
-  fNeutronEt = 0;
-  fAntiNeutronEt = 0;
-  fGammaEt = 0;
   
   if (!fCuts || !fPdgDB || fPiPlusCode==0) { // some Init's needed
     cout << __FILE__ << ":" << __LINE__ << " : Init " << endl;
@@ -514,6 +484,8 @@ void AliAnalysisEt::SetParticleCodes()
   fAntiNeutronCode = fPdgDB->GetParticle("antineutron")->PdgCode();
   fEPlusCode = fPdgDB->GetParticle("e+")->PdgCode();
   fEMinusCode = fPdgDB->GetParticle("e-")->PdgCode();
+  fMuPlusCode = fPdgDB->GetParticle("mu+")->PdgCode();
+  fMuMinusCode = fPdgDB->GetParticle("mu-")->PdgCode();
   fGammaCode = fPdgDB->GetParticle("gamma")->PdgCode();
   
   cout << "Resetting Codes: Pion " << fPiPlusCode
index fcde003c0d67c0c93a1376ed61451b5ca07ddc16..b8dd94e8630c6ce9b61c2a49914f6fa9be7d13ed 100644 (file)
@@ -110,6 +110,8 @@ protected:
     Int_t fAntiNeutronCode;//pdg anti-neutron code
     Int_t fEPlusCode;//pdg positron code
     Int_t fEMinusCode;//pdg electron code
+    Int_t fMuPlusCode; // pdg muon + code
+    Int_t fMuMinusCode; // pdg muon - code
     Int_t fGammaCode; // pdg gamma code
     Float_t fPionMass;//pdg pion mass
 
@@ -125,14 +127,10 @@ protected:
     Int_t fChargedMultiplicity;/** Multiplicity of charged particles in the event */    
     Int_t fNeutralMultiplicity; /** Multiplicity of neutral particles in the event */
     
-    Double_t fBaryonEt;     /** Et of identified baryons */    
-    Double_t fAntiBaryonEt; /** Et of identified anti-baryons */
-    Double_t fMesonEt;     /** Et of identified mesons */
+    Double_t fBaryonEt;     /** Et of identified baryons; calo based (Rec only for now) */    
+    Double_t fAntiBaryonEt; /** Et of identified anti-baryons; calo based (Rec only for now) */
+    Double_t fMesonEt;     /** Et of identified mesons; calo based (Rec only for now) */
 
-    Double_t fBaryonEtAcc;    /** Et of identified baryons in calorimeter acceptance */    
-    Double_t fAntiBaryonEtAcc; /** Et of identified anti-baryons in calorimeter acceptance */       
-    Double_t fMesonEtAcc; /** Et of identified mesons in calorimeter acceptance */
-    
     Double_t fProtonEt; /** Et of identified protons */
     Double_t fPionEt; /** Et of identified pions */
     Double_t fChargedKaonEt; /** Et of identified charged kaons */
@@ -214,10 +212,6 @@ protected:
     TH1F *fHistAntiBaryonEt; /** Et of identified anti-baryons */
     TH1F *fHistMesonEt; /** Et of identified mesons */
 
-    TH1F *fHistBaryonEtAcc; /** Et of identified baryons in calorimeter acceptance */    
-    TH1F *fHistAntiBaryonEtAcc; /** Et of identified anti-baryons in calorimeter acceptance */       
-    TH1F *fHistMesonEtAcc; /** Et of identified mesons in calorimeter acceptance */
-
     TH1F *fHistProtonEt; /** Et of identified protons */
     TH1F *fHistPionEt; /** Et of identified protons */
     TH1F *fHistChargedKaonEt; /** Et of identified charged kaons */
@@ -234,9 +228,7 @@ protected:
     TH1F *fHistElectronEtAcc; /** Et of identified electrons in calorimeter acceptance */
     
     /* Correction plots */
-    TH2F *fHistEtRecvsEtMC; //Reconstructed Et versus MC Et
-    
-    TH1F *fHistTMDeltaR; /* Track matching plots */
+    TH1F *fHistTMDeltaR; /* Track matching plots; Rec only for now */
 
     TTree *fTree; // optional TTree
     TTree *fTreeDeposit; // optional TTree for energy deposit measurements
index f5c3a41f9c974a950784a0ed5da49ecd35520f36..1a543dcdde16d6ce76bee2713ab24285982e866e 100644 (file)
@@ -75,8 +75,6 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev)
 
     Int_t nPrim = stack->GetNtrack();
 
-    Double_t particleMassPart = 0; //The mass part in the Et calculation for this particle
-
     for (Int_t iPart = 0; iPart < nPrim; iPart++)
     {
 
@@ -88,78 +86,127 @@ Int_t AliAnalysisEtMonteCarlo::AnalyseEvent(AliVEvent* ev)
             continue;
         }
 
-        TParticlePDG *pc = part->GetPDG(0);
+        TParticlePDG *pdg = part->GetPDG(0);
+
+       Double_t particleMassPart = 0; //The mass part in the Et calculation for this particle
 
         // Check if it is a primary particle
         if (!stack->IsPhysicalPrimary(iPart)) continue;
 
-       // printf("MC: iPart %03d eta %4.3f phi %4.3f code %d charge %g \n", iPart, part->Eta(), part->Phi(), pc->PdgCode(), pc->Charge()); // tmp/debug printout
+       // printf("MC: iPart %03d eta %4.3f phi %4.3f code %d charge %g \n", iPart, part->Eta(), part->Phi(), pdg->PdgCode(), pdg->Charge()); // tmp/debug printout
 
         // Check for reasonable (for now neutral and singly charged) charge on the particle
         //TODO:Maybe not only singly charged?
-        if (TMath::Abs(pc->Charge()) != fCuts->GetMonteCarloSingleChargedParticle() && pc->Charge() != fCuts->GetMonteCarloNeutralParticle()) continue;
+        if (TMath::Abs(pdg->Charge()) != fCuts->GetMonteCarloSingleChargedParticle() && pdg->Charge() != fCuts->GetMonteCarloNeutralParticle()) continue;
 
         fMultiplicity++;
 
         if (TMath::Abs(part->Eta()) < fCuts->GetCommonEtaCut())
         {
 
-         TParticlePDG *pdgCode =  part->GetPDG(0);
             if (
-                TMath::Abs(pdgCode->PdgCode()) == fProtonCode ||
-                TMath::Abs(pdgCode->PdgCode()) == fNeutronCode ||
-                TMath::Abs(pdgCode->PdgCode()) == fLambdaCode ||
-                TMath::Abs(pdgCode->PdgCode()) == fXiCode ||
-                TMath::Abs(pdgCode->PdgCode()) == fXi0Code ||
-                TMath::Abs(pdgCode->PdgCode()) == fOmegaCode
+                TMath::Abs(pdg->PdgCode()) == fProtonCode ||
+                TMath::Abs(pdg->PdgCode()) == fNeutronCode ||
+                TMath::Abs(pdg->PdgCode()) == fLambdaCode ||
+                TMath::Abs(pdg->PdgCode()) == fXiCode ||
+                TMath::Abs(pdg->PdgCode()) == fXi0Code ||
+                TMath::Abs(pdg->PdgCode()) == fOmegaCode
               )
             {
-                particleMassPart = -TMath::Sign(pdgCode->PdgCode(), pdgCode->PdgCode())*pdgCode->Mass();
+             if (pdg->PdgCode() > 0) { particleMassPart = - pdg->Mass();}
+             if (pdg->PdgCode() < 0) { particleMassPart = pdg->Mass();}
            }
-           if(pdgCode->PdgCode() == fNeutronCode)
+           Double_t et = part->Energy() * TMath::Sin(part->Theta()) + particleMassPart;
+                     
+           if (pdg->PdgCode() == fProtonCode || pdg->PdgCode() == fAntiProtonCode)
+             {
+               fProtonEt += et;
+             }
+           if (pdg->PdgCode() == fPiPlusCode || pdg->PdgCode() == fPiMinusCode)
+             {
+               fPionEt += et;
+             }
+           if (pdg->PdgCode() == fKPlusCode || pdg->PdgCode() == fKMinusCode)
+             {
+               fChargedKaonEt += et;
+             }
+           if (pdg->PdgCode() == fMuPlusCode || pdg->PdgCode() == fMuMinusCode)
+             {
+               fMuonEt += et;
+             }
+           if (pdg->PdgCode() == fEPlusCode || pdg->PdgCode() == fEMinusCode)
+             {
+               fElectronEt += et;
+             }
+
+           // some neutrals also
+           if(pdg->PdgCode() == fNeutronCode)
            {
-             fNeutronEt += part->Energy()*TMath::Sin(part->Theta()) - pdgCode->Mass();
+             fNeutronEt += et;
            }
-            if(pdgCode->PdgCode() == fAntiNeutronCode)
+            if(pdg->PdgCode() == fAntiNeutronCode)
            {
-             fAntiNeutronEt += part->Energy()*TMath::Sin(part->Theta()) + pdgCode->Mass();
+             fAntiNeutronEt += et;
            }
-           if(pdgCode->PdgCode() == fGammaCode)
+           if(pdg->PdgCode() == fGammaCode)
            {
-             fGammaEt += part->Energy()*TMath::Sin(part->Theta());
+             fGammaEt += et;
            }
-            if (pdgCode->Charge() == fCuts->GetMonteCarloNeutralParticle() )
+
+            if (pdg->Charge() == fCuts->GetMonteCarloNeutralParticle() )
             {
               fNeutralMultiplicity++;
-                fTotNeutralEt += part->Energy()*TMath::Sin(part->Theta());
+              fTotNeutralEt += et;
 
                 if (TMath::Abs(part->Eta()) < fEtaCutAcc && part->Phi() < fPhiCutAccMax && part->Phi() > fPhiCutAccMin)
                 {
-                    fTotNeutralEtAcc += part->Energy()*TMath::Sin(part->Theta());
-                    fTotEtAcc += part->Energy()*TMath::Sin(part->Theta());
+                 fTotNeutralEtAcc += et;
+                 fTotEtAcc += et;
                 }
             }
-            else if (pdgCode->Charge() != fCuts->GetMonteCarloNeutralParticle() )
+            else if (pdg->Charge() != fCuts->GetMonteCarloNeutralParticle() )
             {
               fChargedMultiplicity++;
-                fTotChargedEt += part->Energy()*TMath::Sin(part->Theta());
+              fTotChargedEt += et;
                 if (TMath::Abs(part->Eta()) < fEtaCutAcc && part->Phi() < fPhiCutAccMax && part->Phi() > fPhiCutAccMin)
                 {
-                    fTotChargedEtAcc += part->Energy()*TMath::Sin(part->Theta());
-                    fTotEtAcc += part->Energy()*TMath::Sin(part->Theta());
+                 fTotChargedEtAcc += et;
+                 fTotEtAcc += et;
+
+
+                   if (pdg->PdgCode() == fProtonCode || pdg->PdgCode() == fAntiProtonCode)
+                     {
+                       fProtonEtAcc += et;
+                     }
+                   if (pdg->PdgCode() == fPiPlusCode || pdg->PdgCode() == fPiMinusCode)
+                     {
+                       fPionEtAcc += et;
+                     }
+                   if (pdg->PdgCode() == fKPlusCode || pdg->PdgCode() == fKMinusCode)
+                     {
+                       fChargedKaonEtAcc += et;
+                     }
+                   if (pdg->PdgCode() == fMuPlusCode || pdg->PdgCode() == fMuMinusCode)
+                     {
+                       fMuonEtAcc += et;
+                     }
+                   if (pdg->PdgCode() == fEPlusCode || pdg->PdgCode() == fEMinusCode)
+                     {
+                       fElectronEtAcc += et;
+                     }
+                   
                 }
 
                //        if (TrackHitsCalorimeter(part, event->GetMagneticField()))
                if (TrackHitsCalorimeter(part)) // magnetic field info not filled?
                  {
-                   if (pdgCode->Charge() > 0) fHistPhivsPtPos->Fill(part->Phi(),part->Pt());
+                   if (pdg->Charge() > 0) fHistPhivsPtPos->Fill(part->Phi(),part->Pt());
                    else fHistPhivsPtNeg->Fill(part->Phi(), part->Pt());
                  }
            }
        }
     }
     
-    fTotNeutralEtAcc = fTotNeutralEt;
     fTotEt = fTotChargedEt + fTotNeutralEt;
     fTotEtAcc = fTotChargedEtAcc + fTotNeutralEtAcc;