]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
add split cluster time difference histogram
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 1 May 2013 08:11:59 +0000 (08:11 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 1 May 2013 08:11:59 +0000 (08:11 +0000)
PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.cxx
PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.h
PWGGA/CaloTrackCorrelations/AliAnaPi0EbE.cxx

index 96983241e25193b8cc0ab3b010a9dd6a86ae873e..69715c4285190c2f3c424699db409f6baadfb8d9 100755 (executable)
@@ -78,7 +78,10 @@ AliAnaInsideClusterInvariantMass::AliAnaInsideClusterInvariantMass() :
   fhEventPlanePi0NLocMaxN(0), fhEventPlaneEtaNLocMaxN(0),
   fhClusterEtaPhiNLocMax1(0), fhClusterEtaPhiNLocMax2(0),  fhClusterEtaPhiNLocMaxN(0),
   fhPi0EtaPhiNLocMax1(0),     fhPi0EtaPhiNLocMax2(0),      fhPi0EtaPhiNLocMaxN(0),
-  fhEtaEtaPhiNLocMax1(0),     fhEtaEtaPhiNLocMax2(0),      fhEtaEtaPhiNLocMaxN(0)
+  fhEtaEtaPhiNLocMax1(0),     fhEtaEtaPhiNLocMax2(0),      fhEtaEtaPhiNLocMaxN(0),
+  fhPi0EPairDiffTimeNLM1(0),  fhPi0EPairDiffTimeNLM2(0),   fhPi0EPairDiffTimeNLMN(0),
+  fhEtaEPairDiffTimeNLM1(0),  fhEtaEPairDiffTimeNLM2(0),   fhEtaEPairDiffTimeNLMN(0)
+
 {
   //default ctor
   
@@ -1669,7 +1672,6 @@ TList * AliAnaInsideClusterInvariantMass::GetCreateOutputObjects()
   fhEtaEtaPhiNLocMaxN->SetYTitle("#phi (rad)");
   fhEtaEtaPhiNLocMaxN->SetXTitle("#eta");
   outputContainer->Add(fhEtaEtaPhiNLocMaxN) ;
-
   
   if(fFillSSWeightHisto)
   {
@@ -1757,6 +1759,38 @@ TList * AliAnaInsideClusterInvariantMass::GetCreateOutputObjects()
     }
   }
   
+  Int_t tdbins   = GetHistogramRanges()->GetHistoDiffTimeBins() ;    Float_t tdmax  = GetHistogramRanges()->GetHistoDiffTimeMax();     Float_t tdmin  = GetHistogramRanges()->GetHistoDiffTimeMin();
+
+  fhPi0EPairDiffTimeNLM1 = new TH2F("hPi0EPairDiffTimeNLocMax1","cluster pair time difference vs E, selected #pi, NLM=1",nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
+  fhPi0EPairDiffTimeNLM1->SetXTitle("E_{pair} (GeV)");
+  fhPi0EPairDiffTimeNLM1->SetYTitle("#Delta t (ns)");
+  outputContainer->Add(fhPi0EPairDiffTimeNLM1);
+
+  fhPi0EPairDiffTimeNLM2 = new TH2F("hPi0EPairDiffTimeNLocMax2","cluster pair time difference vs E, selected #pi, NLM=2",nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
+  fhPi0EPairDiffTimeNLM2->SetXTitle("E_{pair} (GeV)");
+  fhPi0EPairDiffTimeNLM2->SetYTitle("#Delta t (ns)");
+  outputContainer->Add(fhPi0EPairDiffTimeNLM2);
+
+  fhPi0EPairDiffTimeNLMN = new TH2F("hPi0EPairDiffTimeNLocMaxN","cluster pair time difference vs E, selected #pi, NLM>2",nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
+  fhPi0EPairDiffTimeNLMN->SetXTitle("E_{pair} (GeV)");
+  fhPi0EPairDiffTimeNLMN->SetYTitle("#Delta t (ns)");
+  outputContainer->Add(fhPi0EPairDiffTimeNLMN);
+
+  fhEtaEPairDiffTimeNLM1 = new TH2F("hEtaEPairDiffTimeNLocMax1","cluster pair time difference vs E, selected #eta, NLM=1",nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
+  fhEtaEPairDiffTimeNLM1->SetXTitle("E_{pair} (GeV)");
+  fhEtaEPairDiffTimeNLM1->SetYTitle("#Delta t (ns)");
+  outputContainer->Add(fhEtaEPairDiffTimeNLM1);
+  
+  fhEtaEPairDiffTimeNLM2 = new TH2F("hEtaEPairDiffTimeNLocMax2","cluster pair time difference vs E, selected #eta, NLM=2",nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
+  fhEtaEPairDiffTimeNLM2->SetXTitle("E_{pair} (GeV)");
+  fhEtaEPairDiffTimeNLM2->SetYTitle("#Delta t (ns)");
+  outputContainer->Add(fhEtaEPairDiffTimeNLM2);
+  
+  fhEtaEPairDiffTimeNLMN = new TH2F("hEtaEPairDiffTimeNLocMaxN","cluster pair time difference vs E, selected #eta, NLM>2",nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
+  fhEtaEPairDiffTimeNLMN->SetXTitle("E_{pair} (GeV)");
+  fhEtaEPairDiffTimeNLMN->SetYTitle("#Delta t (ns)");
+  outputContainer->Add(fhEtaEPairDiffTimeNLMN);
+  
   return outputContainer ;
   
 }
@@ -1896,6 +1930,16 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
     Float_t e1 = l1.Energy();
     Float_t e2 = l2.Energy();
     
+    Double_t tof1  = cells->GetCellTime(absId1);
+    GetCaloUtils()->RecalibrateCellTime(tof1, fCalorimeter, absId1,GetReader()->GetInputEvent()->GetBunchCrossNumber());
+    tof1*=1.e9;
+    
+    Double_t tof2  = cells->GetCellTime(absId2);
+    GetCaloUtils()->RecalibrateCellTime(tof2, fCalorimeter, absId2,GetReader()->GetInputEvent()->GetBunchCrossNumber());
+    tof2*=1.e9;
+    
+    Double_t t12diff = tof1-tof2;
+    
     Float_t splitFrac = (e1+e2)/en;
 
     Float_t asym = -10;
@@ -2275,6 +2319,7 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
           fhEventPlanePi0NLocMax1->Fill(en,evp) ;
           if(en > ecut)fhPi0EtaPhiNLocMax1->Fill(eta,phi);
           FillSSWeightHistograms(cluster, 0, absId1, absId2);
+          fhPi0EPairDiffTimeNLM1->Fill(e1+e2,t12diff);
         }
       }
       else if(pidTag==AliCaloPID::kEta)
@@ -2285,6 +2330,7 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
         {
           fhEventPlaneEtaNLocMax1->Fill(en,evp) ;
           if(en > ecut)fhEtaEtaPhiNLocMax1->Fill(eta,phi);
+          fhEtaEPairDiffTimeNLM1->Fill(e1+e2,t12diff);
         }
       }
       
@@ -2335,6 +2381,7 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
           fhEventPlanePi0NLocMax2->Fill(en,evp) ;
           if(en > ecut)fhPi0EtaPhiNLocMax2->Fill(eta,phi);
           FillSSWeightHistograms(cluster, 1, absId1, absId2);
+          fhPi0EPairDiffTimeNLM2->Fill(e1+e2,t12diff);
         }
       }
       else if(pidTag==AliCaloPID::kEta)
@@ -2345,6 +2392,7 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
         {
           fhEventPlaneEtaNLocMax2->Fill(en,evp) ;
           if(en > ecut)fhEtaEtaPhiNLocMax2->Fill(eta,phi);
+          fhEtaEPairDiffTimeNLM2->Fill(e1+e2,t12diff);
         }
       }
       
@@ -2395,6 +2443,7 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
           fhEventPlanePi0NLocMaxN->Fill(en,evp) ;
           if(en > ecut)fhPi0EtaPhiNLocMaxN->Fill(eta,phi);
           FillSSWeightHistograms(cluster, 2,  absId1, absId2);
+          fhPi0EPairDiffTimeNLMN->Fill(e1+e2,t12diff);
         }
       }
       else if(pidTag==AliCaloPID::kEta)
@@ -2405,6 +2454,7 @@ void  AliAnaInsideClusterInvariantMass::MakeAnalysisFillHistograms()
         {
           fhEventPlaneEtaNLocMaxN->Fill(en,evp) ;
           if(en > ecut)fhEtaEtaPhiNLocMaxN->Fill(eta,phi);
+          fhEtaEPairDiffTimeNLMN->Fill(e1+e2,t12diff);
         }
       }
       
index 9ee9624e0f2254aa36c1972e40b4be1b378a6b5c..926e382c3a4ed831693fe16644fc504b3237db7c 100755 (executable)
@@ -336,6 +336,13 @@ class AliAnaInsideClusterInvariantMass : public AliAnaCaloTrackCorrBaseClass {
   TH2F       * fhM02WeightPi0[3][10] ;                  //! M02 for selected pi0 with different weight, with NLM = 1, = 2, > 2
   TH2F       * fhM02ECellCutPi0[3][10] ;                //! M02 for selected pi0 with different cut on cell energy, with NLM = 1, = 2, > 2
 
+  TH2F       * fhPi0EPairDiffTimeNLM1;                  //! E vs Pair of clusters time difference vs E, for selected pi0, NLM=1
+  TH2F       * fhPi0EPairDiffTimeNLM2;                  //! E vs Pair of clusters time difference vs E, for selected pi0, NLM=2
+  TH2F       * fhPi0EPairDiffTimeNLMN;                  //! E vs Pair of clusters time difference vs E, for selected pi0, NLM>2
+  TH2F       * fhEtaEPairDiffTimeNLM1;                  //! E vs Pair of clusters time difference vs E, for selected eta, NLM=1
+  TH2F       * fhEtaEPairDiffTimeNLM2;                  //! E vs Pair of clusters time difference vs E, for selected eta, NLM=2
+  TH2F       * fhEtaEPairDiffTimeNLMN;                  //! E vs Pair of clusters time difference vs E, for selected eta, NLM>2
+
   
   AliAnaInsideClusterInvariantMass(              const AliAnaInsideClusterInvariantMass & split) ; // cpy ctor
   AliAnaInsideClusterInvariantMass & operator = (const AliAnaInsideClusterInvariantMass & split) ; // cpy assignment
index 3c0aab0093b901331e2682c4c09360b1c9824358..253dcdcab6dfd307b398b69f1548265ba40aac0b 100755 (executable)
@@ -926,13 +926,14 @@ TList *  AliAnaPi0EbE::GetCreateOutputObjects()
     
   }
   
-  if(fAnaType == kIMCalo)
-  {
+
     fhEPairDiffTime = new TH2F("hEPairDiffTime","cluster pair time difference vs E",nptbins,ptmin,ptmax, tdbins,tdmin,tdmax);
     fhEPairDiffTime->SetXTitle("E_{pair} (GeV)");
     fhEPairDiffTime->SetYTitle("#Delta t (ns)");
     outputContainer->Add(fhEPairDiffTime);
-    
+  
+  if(fAnaType == kIMCalo)
+  {
     TString combiName [] = {"1LocMax","2LocMax","NLocMax","1LocMax2LocMax","1LocMaxNLocMax","2LocMaxNLocMax","1LocMaxSSBad","NLocMaxSSGood"};
     TString combiTitle[] = {"1 Local Maxima in both clusters","2 Local Maxima in both clusters","more than 2 Local Maxima in both clusters",
       "1 Local Maxima paired with 2 Local Maxima","1 Local Maxima paired with more than 2 Local Maxima",
@@ -2159,7 +2160,7 @@ void  AliAnaPi0EbE::MakeShowerShapeIdentification()
     Float_t e2 = l2.Energy();
     if(e1+e2 > 0) asy = (e1-e2) / (e1+e2);
     fhAsymmetry->Fill(mom.E(),asy);
-    
+
     if(IsDataMC())
     {
       Int_t mcIndex = GetMCIndex(tag);
@@ -2189,16 +2190,29 @@ void  AliAnaPi0EbE::MakeShowerShapeIdentification()
     fhSelectedAsymmetry->Fill(mom.E(),asy);
     fhSelectedMass     ->Fill(mom.E(),mass);
 
-    fhSplitE   ->Fill(e1+e2);
-    Float_t pt1 = l1.Pt();
-    Float_t pt2 = l2.Pt();
-    fhSplitPt  ->Fill(pt1+pt2);
+    TLorentzVector l12 = l1+l2;
+    Float_t ptSplit = l12.Pt();
+    Float_t  eSplit = e1+e2;
+    fhSplitE   ->Fill( eSplit);
+    fhSplitPt  ->Fill(ptSplit);
 
+    //Check split-clusters with good time window difference
+    Double_t tof1  = cells->GetCellTime(absId1);
+    GetCaloUtils()->RecalibrateCellTime(tof1, fCalorimeter, absId1,GetReader()->GetInputEvent()->GetBunchCrossNumber());
+    tof1*=1.e9;
+    
+    Double_t tof2  = cells->GetCellTime(absId2);
+    GetCaloUtils()->RecalibrateCellTime(tof2, fCalorimeter, absId2,GetReader()->GetInputEvent()->GetBunchCrossNumber());
+    tof2*=1.e9;
+    
+    Double_t t12diff = tof1-tof2;
+    fhEPairDiffTime->Fill(e1+e2,    t12diff);
+    
     if(IsDataMC())
     {
       Int_t mcIndex = GetMCIndex(tag);
-      fhMCSplitE    [mcIndex]->Fill(e1+e2);
-      fhMCSplitPt   [mcIndex]->Fill(pt1+pt2);
+      fhMCSplitE    [mcIndex]->Fill( eSplit);
+      fhMCSplitPt   [mcIndex]->Fill(ptSplit);
     }