]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
Update from Debojit: PID Corr
authorsjena <sjena@cern.ch>
Thu, 10 Jul 2014 13:07:21 +0000 (15:07 +0200)
committersjena <sjena@cern.ch>
Thu, 10 Jul 2014 13:07:21 +0000 (15:07 +0200)
PWGCF/Correlations/DPhi/TriggerPID/AliTwoParticlePIDCorr.cxx
PWGCF/Correlations/DPhi/TriggerPID/AliTwoParticlePIDCorr.h

index 935520ab662926c7577d2f5c14fcc3c86c4d1215..7569c2527f43c04536a54fdea5b098666eac087a 100644 (file)
@@ -166,6 +166,8 @@ AliTwoParticlePIDCorr::AliTwoParticlePIDCorr() // All data members should be ini
   fEventnobaryon(0),
   fEventnomeson(0),
  fhistJetTrigestimate(0),
+fTwoTrackDistancePtdip(0x0),
+fTwoTrackDistancePtdipmix(0x0),
   fCentralityCorrelation(0x0),
  fHistVZEROAGainEqualizationMap(0),
   fHistVZEROCGainEqualizationMap(0),
@@ -304,8 +306,11 @@ fAnalysisUtils(0x0),
     fTrackHistEfficiency[i] = NULL;
     effcorection[i]=NULL;
     //effmap[i]=NULL;
-
   }
+ for ( Int_t i = 0; i < 2; i++ ){
+   fTwoTrackDistancePt[i]=NULL;
+   fTwoTrackDistancePtmix[i]=NULL;
+}
 
  for(Int_t ipart=0;ipart<NSpecies;ipart++)
     for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++)
@@ -405,6 +410,8 @@ AliTwoParticlePIDCorr::AliTwoParticlePIDCorr(const char *name) // All data membe
   fEventnobaryon(0),
   fEventnomeson(0),
   fhistJetTrigestimate(0),
+fTwoTrackDistancePtdip(0x0),
+fTwoTrackDistancePtdipmix(0x0),
   fCentralityCorrelation(0x0),
  fHistVZEROAGainEqualizationMap(0),
   fHistVZEROCGainEqualizationMap(0),
@@ -547,6 +554,11 @@ for ( Int_t i = 0; i < 6; i++ ){
     //effmap[i]=NULL;
   }
 
+for ( Int_t i = 0; i < 2; i++ ){
+   fTwoTrackDistancePt[i]=NULL;
+   fTwoTrackDistancePtmix[i]=NULL;
+}
+
  for(Int_t ipart=0;ipart<NSpecies;ipart++)
     for(Int_t ipid=0;ipid<=NSigmaPIDType;ipid++)
       fnsigmas[ipart][ipid]=999.;
@@ -1317,7 +1329,23 @@ fOutput->Add(fEventnomeson);
 fhistJetTrigestimate=new TH2F("fhistJetTrigestimate","fhistJetTrigestimate",iBinPair[0],dBinsPair[0],6,-0.5,5.5);
 fOutput->Add(fhistJetTrigestimate);
 
+   fTwoTrackDistancePtdip = new TH3F("fTwoTrackDistancePtdip", ";#Delta#eta;#Delta#varphi;#Delta p_{T}", 36, -1.8, 1.8, 72,-TMath::Pi()/2, 3*TMath::Pi()/2, 40, 0, 10);
+  fOutput->Add(fTwoTrackDistancePtdip);
+
+fTwoTrackDistancePtdipmix = new TH3F("fTwoTrackDistancePtdipmix", ";#Delta#eta;#Delta#varphi;#Delta p_{T}", 36, -1.8, 1.8, 72,-TMath::Pi()/2, 3*TMath::Pi()/2, 40, 0, 10);
+  fOutput->Add(fTwoTrackDistancePtdipmix);
 
+  TString Histttrname;
+for(Int_t jj=0;jj<2;jj++)// PID type binning
+    {
+  Histttrname="fTwoTrackDistancePt";Histttrname+=jj;
+  fTwoTrackDistancePt[jj] = new TH3F(Histttrname.Data(), ";#Delta#eta;#Delta#varphi^{*}_{min};#Delta p_{T}", 100, -0.15, 0.15, 100, -0.05, 0.05, 20, 0, 10);
+  fOutput->Add(fTwoTrackDistancePt[jj]);
+
+ Histttrname="fTwoTrackDistancePtmix";Histttrname+=jj;
+  fTwoTrackDistancePtmix[jj] = new TH3F(Histttrname.Data(), ";#Delta#eta;#Delta#varphi^{*}_{min};#Delta p_{T}", 100, -0.15, 0.15, 100, -0.05, 0.05, 20, 0, 10);
+  fOutput->Add(fTwoTrackDistancePtmix[jj]);
+    }
 //Mixing
 //DefineEventPool();
 
@@ -3052,13 +3080,16 @@ if (fRejectResonanceDaughters > 0)
                  dphistarminabs = dphistarabs;
                }
              }
+             if(mixcase==kFALSE)  fTwoTrackDistancePt[0]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));//for same event
+             if(mixcase==kTRUE)  fTwoTrackDistancePtmix[0]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));//for mixed event
 
 if (dphistarminabs < twoTrackEfficiencyCutValue && TMath::Abs(deta) < twoTrackEfficiencyCutValue)
              {
 //             Printf("Removed track pair %d %d with %f %f %f %f %f %f %f %f %f", i, j, deta, dphistarminabs, phi1, pt1, charge1, phi2, pt2, charge2, bSign);
                continue;
              }
-//fTwoTrackDistancePt[1]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));
+             if(mixcase==kFALSE) fTwoTrackDistancePt[1]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));//for same event
+             if(mixcase==kTRUE) fTwoTrackDistancePtmix[1]->Fill(deta, dphistarmin, TMath::Abs(pt1 - pt2));//for mixed event
 
            }
          }
@@ -3071,6 +3102,11 @@ if (dphistarminabs < twoTrackEfficiencyCutValue && TMath::Abs(deta) < twoTrackEf
         Float_t deleta=trigeta-eta[j];
        Float_t delphi=PhiRange(trigphi-asso->Phi()); 
 
+       Float_t delpt=trigpt-asso->Pt();
+       //fill it with/without two track efficiency cut    
+       if(mixcase==kFALSE)  fTwoTrackDistancePtdip->Fill(deleta, delphi, TMath::Abs(delpt));//for same event
+       if(mixcase==kTRUE)  fTwoTrackDistancePtdipmix->Fill(deleta, delphi, TMath::Abs(delpt));//for mixed event
+
  //here get the two particle efficiency correction factor
        Float_t effweight=trackefftrig*trackeffasso*weightperevent;
        // if(mixcase==kFALSE)  cout<<"*******************effweight="<<effweight<<endl;
index 6dbb32cc484a71e9bd98dc6d69cd86ebacde7a26..8deb2705da68752e2240561639e04c28cd0bd655 100644 (file)
@@ -225,7 +225,10 @@ fPtTOFPIDmax=PtTOFPIDmax;
  void SetEffcorectionfilePathName(TString efffilename) {fefffilename=efffilename;}
  
 
+  //PID Type
+  void SetPIDType(PIDType PIDmethod) { fPIDType = PIDmethod; }
+  PIDType GetPIDType() {return fPIDType; }
+  //NSigma cut
   //set cut on beyesian probability
   void SetBayesCut(Double_t cut){fBayesCut=cut;}
   void SetdiffPIDcutvalues(Bool_t diffPIDcutvalues,Double_t PIDCutval1, Double_t PIDCutval2, Double_t PIDCutval3,Double_t PIDCutval4){
@@ -327,6 +330,10 @@ fPtTOFPIDmax=PtTOFPIDmax;
     TH2F *fEventnobaryon;//!
     TH2F *fEventnomeson;//!
     TH2F *fhistJetTrigestimate;//!
+    TH3F* fTwoTrackDistancePtdip;//!
+    TH3F* fTwoTrackDistancePtdipmix;//!
+    TH3F* fTwoTrackDistancePt[2];    //! control histograms for two-track efficiency study: dphi*_min vs deta (0 = before cut, 1 = after cut)
+    TH3F* fTwoTrackDistancePtmix[2];    //! control histograms for two-track efficiency study: dphi*_min vs deta (0 = before cut, 1 = after cut)
 
     TH2D* fCentralityCorrelation;  //! centrality vs Tracks multiplicity
  //VZERO calibration