Fixed coding violations, removed lines with log level kError, added functionality...
authorkaamodt <kaamodt@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 21 Sep 2009 05:06:37 +0000 (05:06 +0000)
committerkaamodt <kaamodt@f7af4fe6-9843-0410-8265-dc069ae4e863>
Mon, 21 Sep 2009 05:06:37 +0000 (05:06 +0000)
PWG4/GammaConv/AliAnalysisTaskGammaConversion.cxx
PWG4/GammaConv/AliAnalysisTaskGammaConversion.h
PWG4/GammaConv/AliGammaConversionAODObject.cxx
PWG4/GammaConv/AliGammaConversionAODObject.h
PWG4/GammaConv/AliGammaConversionHistograms.cxx
PWG4/GammaConv/AliV0Reader.cxx
PWG4/GammaConv/AliV0Reader.h
PWG4/macros/ConfigGammaConversion.C

index 66c8839..6d73249 100644 (file)
 #include "AliLog.h"
 #include "AliESDtrackCuts.h"
 #include "TNtuple.h"
-#include "AliCFManager.h"  // for CF
-#include "AliCFContainer.h"   // for CF
+//#include "AliCFManager.h"  // for CF
+//#include "AliCFContainer.h"   // for CF
+#include "AliGammaConversionAODObject.h"
 
+class AliCFContainer;
+class AliCFManager;
 class AliKFVertex;
 class AliAODHandler;
 class AliAODEvent;
@@ -53,7 +56,7 @@ AliAnalysisTaskSE(),
   fV0Reader(NULL),
   fStack(NULL),
   fMCTruth(NULL),    // for CF
-  fMCEvent(NULL),    // for CF
+  fGCMCEvent(NULL),    // for CF
   fESDEvent(NULL),     
   fOutputContainer(NULL),
   fCFManager(0x0),   // for CF
@@ -120,7 +123,7 @@ AliAnalysisTaskGammaConversion::AliAnalysisTaskGammaConversion(const char* name)
   fV0Reader(NULL),
   fStack(NULL),
   fMCTruth(NULL),    // for CF
-  fMCEvent(NULL),    // for CF
+  fGCMCEvent(NULL),    // for CF
   fESDEvent(NULL),     
   fOutputContainer(0x0),
   fCFManager(0x0),   // for CF
@@ -213,7 +216,7 @@ AliAnalysisTaskGammaConversion::~AliAnalysisTaskGammaConversion()
 void AliAnalysisTaskGammaConversion::Init()
 {
   // Initialization
-  AliLog::SetGlobalLogLevel(AliLog::kError);
+  // AliLog::SetGlobalLogLevel(AliLog::kError);
 }
 void AliAnalysisTaskGammaConversion::SetESDtrackCuts()
 {
@@ -346,12 +349,12 @@ void AliAnalysisTaskGammaConversion::ProcessMCData(){
        
   fStack = fV0Reader->GetMCStack();
   fMCTruth = fV0Reader->GetMCTruth();  // for CF
-  fMCEvent = fV0Reader->GetMCEvent();  // for CF
+  fGCMCEvent = fV0Reader->GetMCEvent();  // for CF
        
        
   // for CF
-  if(!fMCEvent) cout << "NO MC INFO FOUND" << endl;
-  fCFManager->SetEventInfo(fMCEvent);
+  if(!fGCMCEvent) cout << "NO MC INFO FOUND" << endl;
+  fCFManager->SetEventInfo(fGCMCEvent);
   Double_t containerInput[3]; 
   // end for CF
        
@@ -1025,9 +1028,12 @@ void AliAnalysisTaskGammaConversion::ProcessV0s(){
        Double_t mcpt   = fV0Reader->GetMotherMCParticle()->Pt();
        Double_t esdpt  = fV0Reader->GetMotherCandidatePt();
        Double_t resdPt = 0;
-       if(mcpt != 0){
+       if(mcpt > 0){
          resdPt = ((esdpt - mcpt)/mcpt)*100;
        }
+       else if(mcpt < 0){
+         cout<<"Pt of MC particle is negative, this will cause wrong calculation of resPt"<<endl; 
+       }
                                
        fHistograms->FillHistogram("Resolution_dPt", mcpt, resdPt);
        fHistograms->FillHistogram("Resolution_MC_Pt", mcpt);
@@ -2014,7 +2020,7 @@ void  AliAnalysisTaskGammaConversion::GetPID(AliESDtrack *track, Stat_t &pid, St
        
        
   for (int i=0; i<5; i++) {
-    if( rcc!=0){
+    if( rcc>0 || rcc<0){//Kenneth: not sure if the rcc<0 should be there, this is from fixing a coding violation where we are not allowed to say: rcc!=0 (RC19)  
       wpartbayes[i] = c[i] * wpart[i] / rcc;
     }
   }
index 9ff90c1..3ed9eef 100644 (file)
 #include "AliAnalysisTaskSE.h"
 #include <vector>
 #include "AliV0Reader.h"
-#include "AliGammaConversionAODObject.h"
+//#include "AliCFManager.h"  // for CF
+//#include "AliCFContainer.h"   // for CF
 
+class AliGammaConversionAODObject;
 class TNtuple;
 class AliGammaConversionHistograms;
 class AliESDv0;
@@ -32,28 +34,6 @@ class AliCFContainer; // for CF
 class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
 {
        
-  // for CF
-  enum{
-    kStepGenerated = 0,
-    kStepReconstructable = 1, 
-    kStepLikeSign = 2,
-    kStepTPCRefit = 3,
-    kStepKinks = 4,
-    kStepGetOnFly = 5,
-    kStepNContributors = 6,
-    kStepTPCPID = 7,
-    kStepR = 8,
-    kStepLine = 9,
-    kStepZ = 10,
-    kStepNDF = 11,
-    kStepChi2 = 12,
-    kStepEta = 13,
-    kStepPt = 14
-  };
-
-       
-       
-       
  public:
   AliAnalysisTaskGammaConversion();
   AliAnalysisTaskGammaConversion(const char* name);
@@ -73,7 +53,7 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   void ProcessGammasForNeutralMesonAnalysis();
                
   // for CF
-  void SetCFManager(AliCFManager *io) {fCFManager = io;};
+  void SetCFManager(AliCFManager * const io) {fCFManager = io;};
   AliCFManager *GetCFManager() const {return fCFManager;}
                
                
@@ -139,11 +119,30 @@ class AliAnalysisTaskGammaConversion : public AliAnalysisTaskSE
   AliAnalysisTaskGammaConversion(const AliAnalysisTaskGammaConversion&); // Not implemented
   AliAnalysisTaskGammaConversion& operator=(const AliAnalysisTaskGammaConversion&); // Not implemented
                
+  // for CF
+  enum{
+    kStepGenerated = 0,
+    kStepReconstructable = 1, 
+    kStepLikeSign = 2,
+    kStepTPCRefit = 3,
+    kStepKinks = 4,
+    kStepGetOnFly = 5,
+    kStepNContributors = 6,
+    kStepTPCPID = 7,
+    kStepR = 8,
+    kStepLine = 9,
+    kStepZ = 10,
+    kStepNDF = 11,
+    kStepChi2 = 12,
+    kStepEta = 13,
+    kStepPt = 14
+  };
+
   AliV0Reader* fV0Reader; // The V0 reader object 
                
   AliStack * fStack; // pointer to the MC particle stack
   AliMCEventHandler *fMCTruth; // for CF   pointer to MCTruth
-  AliMCEvent *fMCEvent;  // for CF    pointer to the MC Event
+  AliMCEvent *fGCMCEvent;  // for CF    pointer to the MC Event
   AliESDEvent* fESDEvent; //pointer to the ESDEvent
   TList * fOutputContainer; // Histogram container
   AliCFManager *fCFManager;  // for CF
index 4166aab..b6c9852 100644 (file)
 ////////////////////////////////////////////////
 
 #include "AliGammaConversionAODObject.h"
-#include "AliAODv0.h"
+//#include "AliAODv0.h"
 #include "AliStack.h"
 #include "AliESDEvent.h"
-#include "AliESDtrack.h"
+//#include "AliESDtrack.h"
 #include "TParticle.h"
 
+class AliAODv0;
+class AliESDtrack;
+
 using namespace std;
 
 ClassImp(AliGammaConversionAODObject)
index 6aea388..4590c74 100644 (file)
@@ -77,12 +77,12 @@ class AliGammaConversionAODObject : public TObject {
   /*
    * This function sets the MC stack
    */
-  void SetStack(AliStack* stack){fMCStack=stack;}
+  void SetStack(AliStack* const stack){fMCStack=stack;}
 
   /*
    * This function sets the ESD event
    */
-  void SetESDEvent(AliESDEvent* esdEvent){fESDEvent = esdEvent;}
+  void SetESDEvent(AliESDEvent* const esdEvent){fESDEvent = esdEvent;}
 
   /*
    * This function returns the Gamma MC label
@@ -106,13 +106,13 @@ class AliGammaConversionAODObject : public TObject {
 
  private:
 
-  Float_t fPx;
-  Float_t fPy;
-  Float_t fPz;
-  Int_t fLabel1;
-  Int_t fLabel2;
-  AliStack* fMCStack;
-  AliESDEvent * fESDEvent;
+  Float_t fPx; // Px of reconstructed gamma
+  Float_t fPy; // Py of reconstructed gamma
+  Float_t fPz; // Pz of reconstructed gamma
+  Int_t fLabel1; //mc label of the first track
+  Int_t fLabel2; //mc label of the second track
+  AliStack* fMCStack; // pointer to the mc stack
+  AliESDEvent * fESDEvent; // pointer to the esdevent
 
   ClassDef(AliGammaConversionAODObject,0)
 };
index f25e0ea..09289fd 100644 (file)
@@ -113,23 +113,24 @@ void AliGammaConversionHistograms::AddHistogram(TString histogramName, TString h
 }
 
 void AliGammaConversionHistograms::AddTable(TString tableName,TString tableTitle,Int_t nXBins,const char * axesLabel[]){
+  //see header file for documentation
 
+  TH1F *tmp = new TH1F(tableName,tableTitle,nXBins,0,nXBins);
+  for(Int_t xbin=1; xbin<=nXBins; xbin++){
+    tmp->GetXaxis()->SetBinLabel(xbin,axesLabel[xbin-1]);
+  }
+  tmp->SetStats(0);
 
-        TH1F *tmp = new TH1F(tableName,tableTitle,nXBins,0,nXBins);
-        for(Int_t xbin=1; xbin<=nXBins; xbin++){
-         tmp->GetXaxis()->SetBinLabel(xbin,axesLabel[xbin-1]);
-        }
-        tmp->SetStats(0);
-
-        TObjString *tobjstring = new TObjString(tableName.Data());
-        fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
+  TObjString *tobjstring = new TObjString(tableName.Data());
+  fHistogramMap->Add((TObject*)tobjstring,(TObject*)tmp);
 }
 
 void AliGammaConversionHistograms::FillTable(TString tableName,Double_t xValue) const {
-        TH1 *tmp = (TH1*)fHistogramMap->GetValue(tableName.Data());
-        if(tmp){
-             tmp->Fill(xValue);
-        }
+  //see header file for documentation
+  TH1 *tmp = (TH1*)fHistogramMap->GetValue(tableName.Data());
+  if(tmp){
+    tmp->Fill(xValue);
+  }
 }
 
 void AliGammaConversionHistograms::FillHistogram(TString histogramName, Double_t xValue) const{
index e9cd81b..f584625 100644 (file)
@@ -52,6 +52,7 @@ AliV0Reader::AliV0Reader() :
   fChain(NULL),
   fESDHandler(NULL),
   fESDEvent(NULL),
+  fCFManager(NULL),
   fHistograms(NULL),
   fCurrentV0IndexNumber(0),
   fCurrentV0(NULL),
@@ -107,6 +108,7 @@ AliV0Reader::AliV0Reader(const AliV0Reader & original) :
   fChain(original.fChain),
   fESDHandler(original.fESDHandler),
   fESDEvent(original.fESDEvent),
+  fCFManager(original.fCFManager),
   fHistograms(original.fHistograms),
   fCurrentV0IndexNumber(original.fCurrentV0IndexNumber),
   fCurrentV0(original.fCurrentV0),
@@ -265,9 +267,18 @@ Bool_t AliV0Reader::NextV0(){
                
                
                
-               
-    fCurrentV0->GetXYZ(fCurrentXValue,fCurrentYValue,fCurrentZValue);
-               
+    if(fUseOwnXYZCalculation == kFALSE){
+      fCurrentV0->GetXYZ(fCurrentXValue,fCurrentYValue,fCurrentZValue);
+    }
+    else{
+      Double_t convpos[2];
+      convpos[0]=0;
+      convpos[1]=0;
+      GetConvPosXY(GetPositiveESDTrack(),GetNegativeESDTrack(),GetMagneticField(),convpos);
+      fCurrentXValue = convpos[0];
+      fCurrentYValue = convpos[1];
+      fCurrentZValue = GetConvPosZ(GetPositiveESDTrack(),GetNegativeESDTrack(),GetMagneticField());
+    }
                
     if(GetXYRadius()>fMaxR){ // cuts on distance from collision point
       if(fHistograms != NULL){
@@ -539,7 +550,8 @@ Bool_t AliV0Reader::CheckPIDProbability(Double_t negProbCut, Double_t posProbCut
   negTrack->GetTPCpid(negProbArray);
   posTrack->GetTPCpid(posProbArray);
        
-  if(negProbArray!=NULL && posProbArray!=NULL){
+  //  if(negProbArray != NULL && posProbArray != NULL){ // this is not allowed anymore for some reason(RC19)
+  if(negProbArray && posProbArray){
     if(negProbArray[GetSpeciesIndex(-1)]>=negProbCut && posProbArray[GetSpeciesIndex(1)]>=posProbCut){
       iResult=kTRUE;
     }
@@ -550,7 +562,8 @@ Bool_t AliV0Reader::CheckPIDProbability(Double_t negProbCut, Double_t posProbCut
 }
 
 void AliV0Reader::GetPIDProbability(Double_t &negPIDProb,Double_t & posPIDProb){
-       
+  // see header file for documentation
+
   Double_t *posProbArray = new Double_t[10];
   Double_t *negProbArray = new Double_t[10];
   AliESDtrack* negTrack  = fESDEvent->GetTrack(fCurrentV0->GetNindex());
@@ -559,7 +572,8 @@ void AliV0Reader::GetPIDProbability(Double_t &negPIDProb,Double_t & posPIDProb){
   negTrack->GetTPCpid(negProbArray);
   posTrack->GetTPCpid(posProbArray);
        
-  if(negProbArray!=NULL && posProbArray!=NULL){
+  //  if(negProbArray!=NULL && posProbArray!=NULL){ // this is not allowed anymore for some reason(RC19)
+  if(negProbArray && posProbArray){
     negPIDProb = negProbArray[GetSpeciesIndex(-1)];
     posPIDProb = posProbArray[GetSpeciesIndex(1)];
   }
@@ -719,7 +733,7 @@ Int_t AliV0Reader::GetSpeciesIndex(Int_t chargeOfTrack){
   return iResult;
 }
 
-Bool_t GetHelixCenter(AliESDtrack* track, Double_t b,Int_t charge, Double_t center[2]){
+Bool_t AliV0Reader::GetHelixCenter(AliESDtrack* track, Double_t b,Int_t charge, Double_t center[2]){
   // see header file for documentation
   
   Double_t pi = 3.14159265358979323846;
@@ -755,7 +769,7 @@ Bool_t GetHelixCenter(AliESDtrack* track, Double_t b,Int_t charge, Double_t cent
   return 1;
 }
 
-Bool_t GetConvPosXY(AliESDtrack* ptrack,AliESDtrack* ntrack, Double_t b, Double_t convpos[2]){
+Bool_t AliV0Reader::GetConvPosXY(AliESDtrack* ptrack, AliESDtrack* ntrack, Double_t b, Double_t convpos[2]){
   //see header file for documentation
 
   Double_t helixcenterpos[2];
@@ -785,7 +799,7 @@ Bool_t GetConvPosXY(AliESDtrack* ptrack,AliESDtrack* ntrack, Double_t b, Double_
 
 
 
-Double_t GetConvPosZ(AliESDtrack* ptrack,AliESDtrack* ntrack, Double_t b){
+Double_t AliV0Reader::GetConvPosZ(AliESDtrack* ptrack,AliESDtrack* ntrack, Double_t b){
   //see header file for documentation
 
   Double_t  helixpos[6];
@@ -816,24 +830,24 @@ Double_t GetConvPosZ(AliESDtrack* ptrack,AliESDtrack* ntrack, Double_t b){
    Double_t xneg = helixcenterneg[0];
    Double_t yneg = helixcenterneg[1];
 
-   Double_t delta_x_pos = convposx -  xpos;
-   Double_t delta_y_pos = convposy -  ypos;
+   Double_t deltaXPos = convposx -  xpos;
+   Double_t deltaYPos = convposy -  ypos;
 
-   Double_t delta_x_neg = convposx -  xneg;
-   Double_t delta_y_neg = convposy -  yneg;
+   Double_t deltaXNeg = convposx -  xneg;
+   Double_t deltaYNeg = convposy -  yneg;
 
-   Double_t alpha_pos =  pi + TMath::ATan2(-delta_y_pos,-delta_x_pos);
-   Double_t alpha_neg =  pi + TMath::ATan2(-delta_y_neg,-delta_x_neg);
+   Double_t alphaPos =  pi + TMath::ATan2(-deltaYPos,-deltaXPos);
+   Double_t alphaNeg =  pi + TMath::ATan2(-deltaYNeg,-deltaXNeg);
 
-   Double_t vertex_x_neg =  xneg +  TMath::Abs(negtrackradius)*
-   TMath::Cos(alpha_neg);
-   Double_t vertex_y_neg =  yneg +  TMath::Abs(negtrackradius)*
-   TMath::Sin(alpha_neg);
+   Double_t vertexXNeg =  xneg +  TMath::Abs(negtrackradius)*
+   TMath::Cos(alphaNeg);
+   Double_t vertexYNeg =  yneg +  TMath::Abs(negtrackradius)*
+   TMath::Sin(alphaNeg);
 
-   Double_t vertex_x_pos =  xpos +  TMath::Abs(postrackradius)*
-   TMath::Cos(alpha_pos);
-   Double_t vertex_y_pos =  ypos +  TMath::Abs(postrackradius)*
-   TMath::Sin(alpha_pos);
+   Double_t vertexXPos =  xpos +  TMath::Abs(postrackradius)*
+   TMath::Cos(alphaPos);
+   Double_t vertexYPos =  ypos +  TMath::Abs(postrackradius)*
+   TMath::Sin(alphaPos);
 
    Double_t x0neg =   helixneg[5];
    Double_t y0neg =   helixneg[0];
@@ -841,29 +855,29 @@ Double_t GetConvPosZ(AliESDtrack* ptrack,AliESDtrack* ntrack, Double_t b){
    Double_t x0pos =   helixpos[5];
    Double_t y0pos =   helixpos[0];
 
-   Double_t d_neg = TMath::Sqrt((vertex_x_neg -  x0neg)*(vertex_x_neg - x0neg)
-                               +(vertex_y_neg -  y0neg)*(vertex_y_neg - y0neg));
+   Double_t dNeg = TMath::Sqrt((vertexXNeg -  x0neg)*(vertexXNeg - x0neg)
+                               +(vertexYNeg -  y0neg)*(vertexYNeg - y0neg));
 
-   Double_t d_pos = TMath::Sqrt((vertex_x_pos -  x0pos)*(vertex_x_pos - x0pos)
-                               +(vertex_y_pos -  y0pos)*(vertex_y_pos - y0pos));
+   Double_t dPos = TMath::Sqrt((vertexXPos -  x0pos)*(vertexXPos - x0pos)
+                               +(vertexYPos -  y0pos)*(vertexYPos - y0pos));
 
-   Double_t r_neg =  TMath::Sqrt(negtrackradius*negtrackradius -
-   d_neg*d_neg/4.);
+   Double_t rNeg =  TMath::Sqrt(negtrackradius*negtrackradius -
+   dNeg*dNeg/4.);
 
-   Double_t r_pos = TMath::Sqrt(postrackradius*postrackradius -
-   d_pos*d_pos/4.);
+   Double_t rPos = TMath::Sqrt(postrackradius*postrackradius -
+   dPos*dPos/4.);
 
-   Double_t deltabeta_neg =  2*(pi +   TMath::ATan2(-d_neg/2.,-r_neg));
-   Double_t deltabeta_pos = 2*(pi + TMath::ATan2(-d_pos/2.,-r_pos));
+   Double_t deltabetaNeg =  2*(pi +   TMath::ATan2(-dNeg/2.,-rNeg));
+   Double_t deltabetaPos = 2*(pi + TMath::ATan2(-dPos/2.,-rPos));
 
-   Double_t delta_U_neg = negtrackradius*deltabeta_neg;
-   Double_t delta_U_pos = postrackradius*deltabeta_pos;
+   Double_t deltaUNeg = negtrackradius*deltabetaNeg;
+   Double_t deltaUPos = postrackradius*deltabetaPos;
 
-   Double_t zphase_neg = ntrack->GetZ() +  delta_U_neg * ntrack->GetTgl();
-   Double_t zphase_pos = ptrack->GetZ() +  delta_U_pos * ptrack->GetTgl();
+   Double_t zphaseNeg = ntrack->GetZ() +  deltaUNeg * ntrack->GetTgl();
+   Double_t zphasePos = ptrack->GetZ() +  deltaUPos * ptrack->GetTgl();
 
    Double_t convposz =
-   (zphase_pos*negtrackradius+zphase_neg*postrackradius)/(negtrackradius+postrackradius);
+   (zphasePos*negtrackradius+zphaseNeg*postrackradius)/(negtrackradius+postrackradius);
 
    return convposz;
 }
index 589b68b..af3e253 100644 (file)
@@ -79,7 +79,7 @@ class AliV0Reader : public TObject {
        
        
   // for CF
-  void SetCFManager(AliCFManager *io){fCFManager = io;};
+  void SetCFManager(AliCFManager * const io){fCFManager = io;};
   AliCFManager *GetCFManager() const {return fCFManager;}
        
        
@@ -481,7 +481,7 @@ class AliV0Reader : public TObject {
   /*
    * Sets the histograms.
    */
-  void SetHistograms(AliGammaConversionHistograms *histograms){fHistograms=histograms;}
+  void SetHistograms(AliGammaConversionHistograms * const histograms){fHistograms=histograms;}
        
   /*
    * Check for primary vertex.
@@ -517,13 +517,13 @@ class AliV0Reader : public TObject {
        
        
   // for CF
-  AliCFManager *fCFManager;            
-  AliCFContainer *container;
+  AliCFManager *fCFManager; // pointer to the cf manager
+  //  AliCFContainer *container;
        
        
   AliGammaConversionHistograms *fHistograms; //! pointer to histogram handling class
        
-  Int_t fCurrentV0IndexNumber;
+  Int_t fCurrentV0IndexNumber;  // the current v0 index number
   AliESDv0 * fCurrentV0;                //! pointer to the current v0
   AliKFParticle * fCurrentNegativeKFParticle;  //! pointer to the negative KF particle
   AliKFParticle * fCurrentPositiveKFParticle;  //! pointer to the positive KF particle
@@ -578,7 +578,7 @@ class AliV0Reader : public TObject {
   vector<AliKFParticle> fCurrentEventGoodV0s; //vector of good v0s
   vector<AliKFParticle> fPreviousEventGoodV0s; // vector of good v0s from prevous events
        
-  ClassDef(AliV0Reader,3)
+  ClassDef(AliV0Reader,4)
 };
 #endif
 
index cfa9459..8b5b195 100644 (file)
@@ -770,7 +770,7 @@ AliAnalysisTaskGammaConversion* ConfigGammaConversion(TString arguments,AliAnaly
                
     gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C"); // load the CreateChain macro
                
-    AliLog::SetGlobalLogLevel(AliLog::kError);
+    //    AliLog::SetGlobalLogLevel(AliLog::kError);
                
                
     // ------------------------------------------------------------------------