add histograms to check vertex in exotic events, do not set the cross section in...
authorgconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 15 Jun 2013 12:25:03 +0000 (12:25 +0000)
committergconesab <gconesab@f7af4fe6-9843-0410-8265-dc069ae4e863>
Sat, 15 Jun 2013 12:25:03 +0000 (12:25 +0000)
PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrMaker.cxx
PWG/CaloTrackCorrBase/AliAnaCaloTrackCorrMaker.h
PWG/CaloTrackCorrBase/AliAnalysisTaskCounter.cxx

index 155f155..276623f 100755 (executable)
@@ -52,7 +52,8 @@ fScaleFactor(-1),
 fhNEvents(0),                 fhNExoticEvents(0),
 fhNEventsNoTriggerFound(0),
 fhNPileUpEvents(0),           fhNPileUpEventsTriggerBC0(0),
-fhZVertex(0),                 
+fhXVertex(0),                 fhYVertex(0),                       fhZVertex(0),
+fhXVertexExotic(0),           fhYVertexExotic(0),                 fhZVertexExotic(0),
 fhPileUpClusterMult(0),       fhPileUpClusterMultAndSPDPileUp(0),
 fhTrackMult(0),
 fhCentrality(0),              fhEventPlaneAngle(0),
@@ -92,7 +93,12 @@ fhNExoticEvents(maker.fhNExoticEvents),
 fhNEventsNoTriggerFound(maker.fhNEventsNoTriggerFound),
 fhNPileUpEvents(maker.fhNPileUpEvents),
 fhNPileUpEventsTriggerBC0(maker.fhNPileUpEventsTriggerBC0),
+fhXVertex(maker.fhXVertex),
+fhYVertex(maker.fhYVertex),
 fhZVertex(maker.fhZVertex),
+fhXVertexExotic(maker.fhXVertexExotic),
+fhYVertexExotic(maker.fhYVertexExotic),
+fhZVertexExotic(maker.fhZVertexExotic),
 fhPileUpClusterMult(maker.fhPileUpClusterMult),
 fhPileUpClusterMultAndSPDPileUp(maker.fhPileUpClusterMultAndSPDPileUp),
 fhTrackMult(maker.fhTrackMult),
@@ -262,6 +268,8 @@ void AliAnaCaloTrackCorrMaker::FillControlHistograms()
   
   Double_t v[3];
   event->GetPrimaryVertex()->GetXYZ(v) ;
+  fhXVertex->Fill(v[0]);
+  fhYVertex->Fill(v[1]);
   fhZVertex->Fill(v[2]);
   
   Int_t bc = fReader->GetVertexBC();
@@ -553,10 +561,30 @@ TList *AliAnaCaloTrackCorrMaker::GetOutputContainer()
     fhEMCalBCEventCut->GetXaxis()->SetBinLabel(i ,Form("%d",i-10));
   fOutputContainer->Add(fhEMCalBCEventCut);
   
+  fhXVertex      = new TH1F("hXVertex", " X vertex distribution"   , 200 , -4 , 4  ) ;
+  fhXVertex->SetXTitle("v_{x} (cm)");
+  fOutputContainer->Add(fhXVertex);
+  
+  fhYVertex      = new TH1F("hYVertex", " Y vertex distribution"   , 200 , -4 , 4  ) ;
+  fhYVertex->SetXTitle("v_{y} (cm)");
+  fOutputContainer->Add(fhYVertex);
+  
   fhZVertex      = new TH1F("hZVertex", " Z vertex distribution"   , 200 , -50 , 50  ) ;
   fhZVertex->SetXTitle("v_{z} (cm)");
   fOutputContainer->Add(fhZVertex);
   
+  fhXVertexExotic      = new TH1F("hXVertexExotic", " X vertex distribution in exotic events"   , 200 , -4 , 4  ) ;
+  fhXVertexExotic->SetXTitle("v_{x} (cm)");
+  fOutputContainer->Add(fhXVertexExotic);
+  
+  fhYVertexExotic      = new TH1F("hYVertexExotic", " Y vertex distribution in exotic events"   , 200 , -4 , 4  ) ;
+  fhYVertexExotic->SetXTitle("v_{y} (cm)");
+  fOutputContainer->Add(fhYVertexExotic);
+  
+  fhZVertexExotic      = new TH1F("hZVertexExotic", " Z vertex distribution in exotic events"   , 200 , -50 , 50  ) ;
+  fhZVertexExotic->SetXTitle("v_{z} (cm)");
+  fOutputContainer->Add(fhZVertexExotic);
+  
   fhTrackMult    = new TH1F("hTrackMult", "Number of tracks per events"   , 2000 , 0 , 2000  ) ;
   fhTrackMult->SetXTitle("# tracks");
   fOutputContainer->Add(fhTrackMult);
@@ -780,7 +808,15 @@ void AliAnaCaloTrackCorrMaker::ProcessEvent(const Int_t iEntry,
     triggerBCOK = kFALSE;
   }
   
-  if(exotic) fhNExoticEvents->Fill(0) ;
+  if(exotic)
+  {
+    fhNExoticEvents->Fill(0) ;
+    Double_t v[3];
+    fReader->GetInputEvent()->GetPrimaryVertex()->GetXYZ(v) ;
+    fhXVertexExotic->Fill(v[0]);
+    fhYVertexExotic->Fill(v[1]);
+    fhZVertexExotic->Fill(v[2]);
+  }
   //if(fReader->IsExoticEvent()) printf("Maker: EXOTIC Cluster trigger\n");
   
   if(triggerBCOK)
index d2b750e..719bc27 100755 (executable)
@@ -99,7 +99,13 @@ class AliAnaCaloTrackCorrMaker : public TObject {
   TH1F *   fhNEventsNoTriggerFound; //! number of events where whaetever was done, no trigger is found
   TH1F *   fhNPileUpEvents;     //! N events pasing pile up cut
   TH1F *   fhNPileUpEventsTriggerBC0; //! N events pasing pile up cut
-  TH1F *   fhZVertex;           //! Vertex of accepted event
+  TH1F *   fhXVertex;           //! X Vertex distribution of accepted event
+  TH1F *   fhYVertex;           //! Y Vertex distribution of accepted event
+  TH1F *   fhZVertex;           //! Z Vertex distribution of accepted event
+  TH1F *   fhXVertexExotic;     //! X Vertex distribution of exotic event
+  TH1F *   fhYVertexExotic;     //! Y Vertex distribution of exotic event
+  TH1F *   fhZVertexExotic;     //! Z Vertex distribution of exotic event
+  
   TH1F *   fhPileUpClusterMult; //! N clusters with high time
   TH1F *   fhPileUpClusterMultAndSPDPileUp; //! N clusters with high time in events tagged as pile-up by SPD
   TH1F *   fhTrackMult;         //! Number of tracks per event histogram
@@ -136,7 +142,7 @@ class AliAnaCaloTrackCorrMaker : public TObject {
   
   AliAnaCaloTrackCorrMaker & operator = (const AliAnaCaloTrackCorrMaker & ) ; // cpy assignment
   
-  ClassDef(AliAnaCaloTrackCorrMaker,18)
+  ClassDef(AliAnaCaloTrackCorrMaker,19)
 } ;
  
 
index 2b48605..dbd5a56 100644 (file)
@@ -532,7 +532,9 @@ Bool_t AliAnalysisTaskCounter::Notify()
     return kFALSE;
   }
   
-  PythiaInfoFromFile(fCurrFileName,xsection,trials);
+  Bool_t ok = PythiaInfoFromFile(fCurrFileName,xsection,trials);
+  
+  if(!ok) return kFALSE;
   
   fh1Xsec->Fill("<#sigma>",xsection);