updates for Reaction Plane and coverity fix
authorkleinb <kleinb@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 31 Mar 2011 09:00:52 +0000 (09:00 +0000)
committerkleinb <kleinb@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 31 Mar 2011 09:00:52 +0000 (09:00 +0000)
PWG4/JetTasks/AliAnalysisTaskJetSpectrum2.cxx
PWG4/JetTasks/AliAnalysisTaskJetSpectrum2.h

index 1f2ee0c..5362090 100644 (file)
@@ -73,7 +73,6 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2():
   fAODOut(0x0),
   fAODExtension(0x0),
   fhnCorrelation(0x0),
-  fhnCorrelationPhiZRec(0x0),
   f1PtScale(0x0),
   fBranchRec("jets"),
   fBranchGen(""),
@@ -129,6 +128,11 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2():
   fh3RPPhiTracks(0x0),
   fHistList(0x0)  
 {
+
+  fFlatA[0] =   fFlatA[1] = 0;
+  fFlatB[0] =   fFlatB[1] = 0;
+  fDeltaQxy[0] =   fDeltaQxy[1] = 0; 
+
   for(int i = 0;i < kMaxStep*2;++i){
     fhnJetContainer[i] = 0;
   }
@@ -175,7 +179,6 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name):
   fAODOut(0x0),
   fAODExtension(0x0),
   fhnCorrelation(0x0),
-  fhnCorrelationPhiZRec(0x0),
   f1PtScale(0x0),
   fBranchRec("jets"),
   fBranchGen(""),
@@ -232,6 +235,10 @@ AliAnalysisTaskJetSpectrum2::AliAnalysisTaskJetSpectrum2(const char* name):
   fHistList(0x0)
 {
 
+  fFlatA[0] =   fFlatA[1] = 0;
+  fFlatB[0] =   fFlatB[1] = 0;
+  fDeltaQxy[0] =   fDeltaQxy[1] = 0; 
+
   for(int i = 0;i < kMaxStep*2;++i){
     fhnJetContainer[i] = 0;
   }  
@@ -347,7 +354,6 @@ void AliAnalysisTaskJetSpectrum2::UserCreateOutputObjects()
 
   MakeJetContainer();
   fHistList->Add(fhnCorrelation);
-  if(fhnCorrelationPhiZRec)fHistList->Add(fhnCorrelationPhiZRec);
   for(int i = 0;i<kMaxStep*2;++i)fHistList->Add(fhnJetContainer[i]);
 
   //
@@ -1074,7 +1080,6 @@ void AliAnalysisTaskJetSpectrum2::FillMatchHistos(TList &recJetsList,TList &genJ
   }
 
   Double_t container[6];
-  Double_t containerPhiZ[6];
 
   // loop over generated jets
   // consider the 
@@ -1114,8 +1119,6 @@ void AliAnalysisTaskJetSpectrum2::FillMatchHistos(TList &recJetsList,TList &genJ
     container[0] = ptRec;
     container[1] = etaRec;
     container[2] = phiRec;
-    containerPhiZ[0] = ptRec;
-    containerPhiZ[1] = phiRec;
 
     fhnJetContainer[kStep0+kMaxStep]->Fill(container);
     if (fDebug > 10)Printf("%s:%d",(char*)__FILE__,__LINE__);
@@ -1136,7 +1139,6 @@ void AliAnalysisTaskJetSpectrum2::FillMatchHistos(TList &recJetsList,TList &genJ
        container[3] = ptGen;
        container[4] = etaGen;
        container[5] = phiGen;
-       containerPhiZ[3] = ptGen;
        // 
        // we accept only jets which are detected within a smaller window, to avoid ambigious pair association at the edges of the acceptance
        // 
@@ -1148,12 +1150,7 @@ void AliAnalysisTaskJetSpectrum2::FillMatchHistos(TList &recJetsList,TList &genJ
          fh2RelPtFGen->Fill(ptGen,delta);
          fh2PtFGen->Fill(ptGen,ptRec);
        }
-       if(fhnCorrelationPhiZRec)fhnCorrelationPhiZRec->Fill(containerPhiZ);
       } 
-      else{
-       containerPhiZ[3] = 0;
-       if(fhnCorrelationPhiZRec)fhnCorrelationPhiZRec->Fill(containerPhiZ);
-      }
     }// loop over reconstructed jets
   }
   if (fDebug > 10)Printf("%s:%d",(char*)__FILE__,__LINE__);
@@ -1169,7 +1166,6 @@ void AliAnalysisTaskJetSpectrum2::MakeJetContainer(){
   const Double_t kPtmin = 0.0, kPtmax = 320.; // we do not want to have empty bins at the beginning...
   const Double_t kEtamin = -3.0, kEtamax = 3.0;
   const Double_t kPhimin = 0., kPhimax = 2. * TMath::Pi();
-  const Double_t kZmin = 0., kZmax = 1;
 
   // can we neglect migration in eta and phi?
   // phi should be no problem since we cover full phi and are phi symmetric
@@ -1221,39 +1217,6 @@ void AliAnalysisTaskJetSpectrum2::MakeJetContainer(){
     delete [] binEdges[ivar];
 
 
-
-  // for second correlation histogram
-
-
-  const Int_t kNvarPhiZ   = 4; 
-  //arrays for the number of bins in each dimension
-  Int_t iBinPhiZ[kNvarPhiZ];
-  iBinPhiZ[0] = 80; //bins in pt
-  iBinPhiZ[1] = 72; //bins in phi 
-  iBinPhiZ[2] = 20; // bins in Z
-  iBinPhiZ[3] = 80; //bins in ptgen
-
-
-  return;
-  //arrays for lower bounds :
-  Double_t* binEdgesPhiZ[kNvarPhiZ];
-  for(Int_t ivar = 0; ivar < kNvarPhiZ; ivar++)
-    binEdgesPhiZ[ivar] = new Double_t[iBinPhiZ[ivar] + 1];
-
-  for(Int_t i=0; i<=iBinPhiZ[0]; i++) binEdgesPhiZ[0][i]=(Double_t)kPtmin  + (kPtmax-kPtmin)/(Double_t)iBinPhiZ[0]*(Double_t)i;
-  for(Int_t i=0; i<=iBinPhiZ[1]; i++) binEdgesPhiZ[1][i]=(Double_t)kPhimin  + (kPhimax-kPhimin)/iBinPhiZ[1]*(Double_t)i;
-  for(Int_t i=0; i<=iBinPhiZ[2]; i++) binEdgesPhiZ[2][i]=(Double_t)kZmin  + (kZmax-kZmin)/iBinPhiZ[2]*(Double_t)i;
-  for(Int_t i=0; i<=iBinPhiZ[3]; i++) binEdgesPhiZ[3][i]=(Double_t)kPtmin  + (kPtmax-kPtmin)/(Double_t)iBinPhiZ[3]*(Double_t)i;
-
-  fhnCorrelationPhiZRec = new THnSparseF("fhnCorrelationPhiZRec","THnSparse with correlations",kNvarPhiZ,iBinPhiZ);
-  for (int k=0; k<kNvarPhiZ; k++) {
-    fhnCorrelationPhiZRec->SetBinEdges(k,binEdgesPhiZ[k]);
-  }
-  fhnCorrelationPhiZRec->Sumw2();
-
-  for(Int_t ivar = 0; ivar < kNvarPhiZ; ivar++)
-    delete [] binEdgesPhiZ[ivar];
-
 }
 
 void AliAnalysisTaskJetSpectrum2::Terminate(Option_t */*option*/)
@@ -1469,19 +1432,16 @@ Bool_t AliAnalysisTaskJetSpectrum2::CalculateReactionPlaneAngle(const TList *tra
   fRPAngle=0;
 
   // need to get this info from elsewhere??
-  Double_t fFlatA[2] = {1,1};
-  Double_t fFlatB[2] = {1,1}; 
-
 
   Double_t fPsiRP =0,fDeltaPsiRP = 0;
    
    
     
   TVector2 mQ,mQ1,mQ2;
-  Float_t mQx=0, mQy=0;
+  Float_t mQx= fDeltaQxy[0], mQy=fDeltaQxy[1];
   
-  Float_t mQx1=0, mQy1=0;
-  Float_t mQx2=0, mQy2=0;
+  Float_t mQx1=fDeltaQxy[0], mQy1=fDeltaQxy[1];
+  Float_t mQx2=fDeltaQxy[0], mQy2=fDeltaQxy[1];
   
   AliVParticle *track=0x0;
   Int_t count[3]={0,0,0};
index 3b0643f..91db741 100644 (file)
@@ -73,6 +73,14 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     virtual void SetFilterMask(UInt_t i){fFilterMask = i;}
     virtual void SetEventSelectionMask(UInt_t i){fEventSelectionMask = i;}
     virtual void SetPhiWeights(TH3F *phiw){fh3PhiWeights = phiw;}
+    virtual void SetFlatteningCoeff(Float_t *fA,Float_t *fB){
+      fFlatA[0] = fA[0];fFlatA[1] = fA[1];
+      fFlatA[0] = fB[0];fFlatB[1] = fB[1];
+    }
+    virtual void SetDeltaQxy(Float_t *fD){
+      fDeltaQxy[0] = fD[0];
+      fDeltaQxy[1] = fD[1];
+    }
     virtual void SetNonStdFile(char* c){fNonStdFile = c;} 
 
 
@@ -128,7 +136,6 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     AliAODExtension  *fAODExtension; //! where we take the jets from can be input or output AOD
     THnSparseF   *fhnJetContainer[kMaxStep*2];   //! like particle container in corrfw with different steps need AliCFContainer with Scale(), and clone() to do the same
     THnSparseF   *fhnCorrelation;           //! response matrix for unfolding 
-    THnSparseF   *fhnCorrelationPhiZRec;       //! response matrix for unfolding in max Z rec bins
 
     TF1          *f1PtScale;                //! correction function to correct to the average true jet energy depending on p_T,rec
 
@@ -165,6 +172,9 @@ class AliAnalysisTaskJetSpectrum2 : public AliAnalysisTaskSE
     Float_t       fDeltaPhiWindow;        // minium angle between dijets
     Float_t       fCentrality;            // ! centrality
     Float_t       fRPAngle;               // ! RP angle of the reaction plane
+    Float_t       fFlatA[2];              // flattening for RP
+    Float_t       fFlatB[2];              // flattening for RP
+    Float_t       fDeltaQxy[2];           // centering of QX QY
     Int_t         fMultRec;               // ! reconstructed track multiplicity
     Int_t         fMultGen;               // ! generated track multiplicity