//
// Latest changes by Christian Holm Christensen
//
+
+#include <TApplication.h>
+#include <TButton.h>
+#include <TCanvas.h>
+#include <TGeoManager.h>
+#include <TH1D.h>
+#include <TMarker3DBox.h>
+#include <TMath.h>
+#include <TSlider.h>
+#include <TStyle.h>
+#include <TView.h>
+#include <TVirtualX.h>
+// #include <TArrayF.h>
+// #include <TParticle.h>
+
#include "AliFMDDisplay.h" // ALIFMDDISPLAY_H
#include "AliFMDHit.h" // ALIFMDHIT_H
#include "AliFMDDigit.h" // ALIFMDDIGIT_H
#include "AliFMDParameters.h" // ALIFMDPARAMETERS_H
#include <AliESDFMD.h> // ALIESDFMD_H
#include <AliLog.h>
-#include <TStyle.h>
-// #include <TArrayF.h>
-#include <TMarker3DBox.h>
-#include <TGeoManager.h>
-// #include <TMath.h>
-#include <TApplication.h>
-#include <TButton.h>
-// #include <TParticle.h>
-#include <TCanvas.h>
-#include <TView.h>
-#include <TVirtualX.h>
-#include <TSlider.h>
-#include <TH1D.h>
//____________________________________________________________________
ClassImp(AliFMDDisplay)
yb = .05;
fSlider = new TSlider("multCut", "Multiplicity cut", 0, 0, 1, yb);
fSlider->SetMethod("AliFMDDisplay::Instance()->ChangeCut()");
- fSlider->SetMinimum(TESTBIT(fTreeMask, kESD) ? fMultCut :
- fPedestalFactor * 10);
fSlider->Draw();
+ fSlider->SetMinimum(TESTBIT(fTreeMask, kESD) ? fMultCut * 10 :
+ fPedestalFactor * 10);
}
const char** p = which;
const char* m;
AliFMDGeometry* geom = AliFMDGeometry::Instance();
geom->Init();
geom->InitTransformations();
+ if (TESTBIT(fTreeMask, kDigits) || TESTBIT(fTreeMask, kRaw))
+ AliFMDParameters::Instance()->Init();
+
fMarkers = new TObjArray;
fHits = new TObjArray;
fMarkers->SetOwner(kTRUE);
fAux = new TCanvas("aux", "Aux");
fAux->SetLogy();
if (TESTBIT(fTreeMask, kESD))
- fSpec = new TH1D("spec", "Mult spectra", 150, 0, 3);
+ fSpec = new TH1D("spec", "Mult spectra", 500, 0, 10);
else
fSpec = new TH1D("spec", "Adc spectra", 1024, -.5, 1023.5);
fSpecCut = static_cast<TH1*>(fSpec->Clone("specCut"));
if (!fCanvas) {
const char* m[] = { "Continue", "Zoom", "Pick", "Redisplay", 0 };
MakeCanvas(m);
- MakeAux();
}
+ MakeAux();
+
// AliInfo("Clearing canvas");
// fCanvas->Clear();
if (!fGeoManager) {
void
AliFMDDisplay::ChangeCut()
{
- fMultCut = fSlider->GetMinimum();
+ fMultCut = fSlider->GetMinimum() * 10;
fPedestalFactor = fSlider->GetMinimum() * 10;
AliInfo(Form("Multiplicity cut: %7.5f, Pedestal factor: %7.4f (%6.5f)",
fMultCut, fPedestalFactor, fSlider->GetMinimum()));
UShort_t str = digit->Strip();
Double_t ped = parm->GetPedestal(det,ring, sec, str);
Double_t pedW = parm->GetPedestalWidth(det,ring, sec, str);
- Double_t threshold = ped * fPedestalFactor * pedW;
- Float_t counts = digit->Counts();
+ Double_t threshold = ped + fPedestalFactor * pedW;
+ Float_t counts = digit->Counts();
+ AliDebug(10, Form("FMD%d%c[%2d,%3d] ADC: %d > %d (=%4.2f+%4.2f*%4.2f)",
+ digit->Detector(), digit->Ring(), digit->Sector(),
+ digit->Strip(), Int_t(counts), Int_t(threshold),
+ ped, fPedestalFactor, pedW));
if (fSpec) fSpec->Fill(counts);
if (counts < threshold) return kTRUE;
if (fHits) fHits->Add(digit);
//____________________________________________________________________
Bool_t
AliFMDDisplay::ProcessESD(UShort_t det, Char_t rng, UShort_t sec, UShort_t str,
- Float_t eta, Float_t mult)
+ Float_t, Float_t mult)
{
- Double_t cmult = (mult *
- TMath::Abs(TMath::Cos(2.*TMath::ATan(TMath::Exp(-eta)))));
+ Double_t cmult = mult;
if (fSpec) fSpec->Fill(cmult);
if (cmult < fMultCut || cmult == AliESDFMD::kInvalidMult) return kTRUE;
AddMarker(det,rng,sec,str, 0, cmult, 20);