]> git.uio.no Git - u/mrichter/AliRoot.git/commitdiff
- 2D Pulse height spectrum as new reference plot
authorcblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 28 May 2010 15:48:07 +0000 (15:48 +0000)
committercblume <cblume@f7af4fe6-9843-0410-8265-dc069ae4e863>
Fri, 28 May 2010 15:48:07 +0000 (15:48 +0000)
- Switch of chi2 plot due to crashing on real data
- Definition of undefined symbol (AliTRDeventCuts)
- Use Clusters outside the chamber for Monitoring plots

PWG1/TRD/AliTRDcheckDET.cxx
PWG1/TRD/AliTRDcheckDET.h
PWG1/TRD/info/AliTRDeventCuts.h
PWG1/TRD/macros/AddTRDcheckDET.C

index 2637712cb24eccbabde328a117b01ea22bc607d5..f1e759261464274de0d17b2278fc0898d0baf27d 100644 (file)
@@ -471,7 +471,7 @@ TObjArray *AliTRDcheckDET::Histos(){
   }
 
   // <PH> histos
-  arr = new TObjArray(2);
+  arr = new TObjArray(3);
   arr->SetOwner(kTRUE);  arr->SetName("<PH>");
   fContainer->AddAt(arr, kPH);
   if(!(h = (TH1F *)gROOT->FindObject("hPHt"))){
@@ -484,6 +484,12 @@ TObjArray *AliTRDcheckDET::Histos(){
     h = new TProfile("hPHx", "<PH>", 31, -0.08, 4.88);
   else h->Reset();
   arr->AddAt(h, 1);
+  if(!(h = (TH2F *)gROOT->FindObject("hPH2D"))){
+    h = new TH2F("hPH2D", "Charge Distribution / time", 31, -0.5, 30.5, 100, 0, 1024);
+    h->GetXaxis()->SetTitle("Time / 100ns");
+    h->GetYaxis()->SetTitle("Charge / a.u.");
+  } else h->Reset();
+  arr->AddAt(h, 2);
 
   // Chi2 histos
   if(!(h = (TH2S*)gROOT->FindObject("hChi2"))){
@@ -949,11 +955,14 @@ TH1 *AliTRDcheckDET::PlotPHt(const AliTRDtrackV1 *track){
     AliWarning("No Track defined.");
     return NULL;
   }
-  TProfile *h = NULL;
+  TProfile *h = NULL; TH2F *phs2D = NULL;
   if(!(h = dynamic_cast<TProfile *>(((TObjArray*)(fContainer->At(kPH)))->At(0)))){
     AliWarning("No Histogram defined.");
     return NULL;
   }
+  if(!(phs2D = dynamic_cast<TH2F *>(((TObjArray*)(fContainer->At(kPH)))->At(2)))){
+    AliWarning("2D Pulse Height histogram not defined. Histogramm cannot be filled");
+  }
   AliTRDseedV1 *tracklet = NULL;
   AliTRDcluster *c = NULL;
   for(Int_t itl = 0; itl < AliTRDgeometry::kNlayer; itl++){
@@ -966,6 +975,7 @@ TH1 *AliTRDcheckDET::PlotPHt(const AliTRDtrackV1 *track){
       Int_t localtime        = c->GetLocalTimeBin();
       Double_t absoluteCharge = TMath::Abs(c->GetQ());
       h->Fill(localtime, absoluteCharge);
+      phs2D->Fill(localtime, absoluteCharge); 
       if(DebugLevel() > 3){
         Double_t distance[2];
         GetDistanceToTracklet(distance, tracklet, c);
@@ -1187,8 +1197,11 @@ TH1* AliTRDcheckDET::MakePlotChi2()
 // 
 // Alex Bercuci <A.Bercuci@gsi.de>
 
+  return NULL;
+
   TH2S *h2 = (TH2S*)fContainer->At(kChi2);
   TF1 f("fChi2", "[0]*pow(x, [1]-1)*exp(-0.5*x)", 0., 50.);
+  f.SetParLimits(1,1, 1e100);
   TLegend *leg = new TLegend(.7,.7,.95,.95);
   leg->SetBorderSize(1); leg->SetHeader("Tracklets per Track");
   TH1D *h1 = NULL;
@@ -1320,10 +1333,13 @@ void AliTRDcheckDET::MakePlotnTrackletsVsP(){
 }
 
 //________________________________________________________
-TH1* AliTRDcheckDET::MakePlotPulseHeight(){
+Bool_t AliTRDcheckDET::MakePlotPulseHeight(){
   //
   // Create Plot of the Pluse Height Spectrum
   //
+  TCanvas *output = gPad->GetCanvas();
+  output->Divide(2);
+  output->cd(1);
   TH1 *h, *h1, *h2;
   TObjArray *arr = (TObjArray*)fContainer->FindObject("<PH>");
   h = (TH1F*)arr->At(0);
@@ -1366,7 +1382,12 @@ TH1* AliTRDcheckDET::MakePlotPulseHeight(){
   axis->SetTextColor(kBlue);
   axis->SetTitle("x_{0}-x_{c} [cm]");
   axis->Draw();
-  return h1;
+
+  output->cd(2);
+  TH2 *ph2d = (TH2F *)arr->At(2);
+  ph2d->SetStats(kFALSE);
+  ph2d->Draw("colz");
+  return kTRUE;
 }
 
 //________________________________________________________
index 9d132faed06a89db61939700fc49430aa22589fe..bd824b7f372b4fa712b19fa4a31928f199a4a05a 100644 (file)
@@ -81,14 +81,14 @@ public:
 
 private:
   enum{
-    kUseClustersOutsideChamber
+    kUseClustersOutsideChamber = 0 
   };
   AliTRDcheckDET(const AliTRDcheckDET &);
   AliTRDcheckDET& operator=(const AliTRDcheckDET &);
   void GetDistanceToTracklet(Double_t *dist, AliTRDseedV1 * const tracklet, AliTRDcluster * const c);
   TH1* MakePlotChi2();
   TH1* MakePlotNTracklets();
-  TH1* MakePlotPulseHeight();
+  Bool_t MakePlotPulseHeight();
   void MakePlotnTrackletsVsP();
   Bool_t MakeBarPlot(TH1 *histo, Int_t Color);
 
index 1de80883cdca96f33aa73b719ac24091c30e9bec..0c019ae03d0354b1f8a142ae6a85c7bfd9566c1f 100644 (file)
@@ -29,8 +29,8 @@ public:
   Bool_t IsSelected(AliESDEvent *event, Bool_t col=kTRUE);
 
   void AddTrigger(const Char_t *name);
-  void SetVertexN(Int_t n);
-  void SetVertexZ(Double_t z);
+  void SetVertexN(Int_t n) { fVertexN = n; };
+  void SetVertexZ(Double_t z) { fVertexZ = z; };
 
 protected:
   Bool_t CheckTrigger(const Char_t *name);
index 21dfed85c4349e2b7db6a11930be4c6eed0f9528..7f8b83b445801231fe8c6323d479241131319e2d 100644 (file)
@@ -17,6 +17,7 @@ void AddTRDcheckDET(AliAnalysisManager *mgr, Char_t *trd, AliAnalysisDataContain
   //AliLog::SetClassDebugLevel("AliTRDcheckDET", 5);
   AliTRDcheckDET *task(NULL);
   mgr->AddTask(task = new AliTRDcheckDET((char*)"checkDET"));
+  task->UseClustersOutsideChamber();
   task->SetDebugLevel(0);
   task->SetMCdata(mgr->GetMCtruthEventHandler());