#ifndef ALIITSONLINESDDINJECTORS_H #define ALIITSONLINESDDINJECTORS_H /* $Id$ */ /////////////////////////////////////////////////////////////////// // // // Class used for SDD injector analysis // // Origin: F.Prino, Torino, prino@to.infn.it // // // /////////////////////////////////////////////////////////////////// #include "AliITSOnlineSDD.h" class TH1F; class TH2F; class TGraphErrors; class AliITSOnlineSDDInjectors : public AliITSOnlineSDD { public: AliITSOnlineSDDInjectors(); AliITSOnlineSDDInjectors(Int_t nddl, Int_t ncarlos, Int_t sid); virtual ~AliITSOnlineSDDInjectors(); void SetThresholds(Int_t ilin, Float_t tl, Float_t th){ fLowThreshold[ilin]=tl; fHighThreshold[ilin]=th; } void SetMaxNumberOfCellsPerAnode(Int_t maxc=40){ fMaxCellsAboveThreshold=maxc; } void SetInjLineRange(Int_t jlin, Int_t tbmin, Int_t tbmax){ fTbMin[jlin]=tbmin; fTbMax[jlin]=tbmax; } void Set20MHzConfig(); void Set40MHzConfig(); void SetPolDegree(Int_t n){fPolDegree=n;} void SetMinDriftSpeed(Float_t vmin){fMinDriftSpeed=vmin;} void SetMaxDriftSpeed(Float_t vmax){fMaxDriftSpeed=vmax;} void SetMaxDriftSpeedErr(Float_t maxval){ fMaxDriftSpeedErr=maxval; } void SetFitLimits(Int_t firstpad,Int_t lastpad){ fFirstPadForFit=firstpad; fLastPadForFit=lastpad; } void SetPadStatusCutForFit(Int_t cutval=4){ fPadStatusCutForFit=cutval; } void SetDefaults(); void SetTimeStep(Double_t tstep) { fTimeStep=tstep; } void SetUseTimeZeroSignal(Bool_t useTZ=kTRUE){ fUseTimeZeroSignal=useTZ; } void SetUseLine(Int_t iLine, Bool_t use=kTRUE){ if(iLine>=0 && iLine cut) sum Double_t *fParam; // parameters of polinomial fit to // drift speed vs. anode number Int_t fPolDegree; // Degree of polynomial fit Int_t fActualPolDegree; // Degree actually used (<=fPolDegree) Float_t fMinDriftSpeed; // Minimum value for drift speed Float_t fMaxDriftSpeed; // Maximum value for drift speed Float_t fMaxDriftSpeedErr; // Maximum value for error on drift speed Float_t fLowThreshold[kInjLines]; // Low threshold for injector signal Float_t fHighThreshold[kInjLines]; // High threshold for injector signal Bool_t fUseLine[kInjLines]; // Flag to use/not use a line Int_t fFirstPadForFit; // first injector pad used in fit Int_t fLastPadForFit; // last injector pad used in fit Int_t fPadStatusCutForFit; // minimum value of pad status for fit Double_t fTimeStep; // time bin value (25 or 50 ns) Bool_t fUseTimeZeroSignal; // flag for usage of time zero signal // in drift speed calculation Int_t fMaxCellsAboveThreshold; // cut to remove noisy anodes ClassDef(AliITSOnlineSDDInjectors,9) }; #endif