X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ITS%2FAliITSOnlineSDDInjectors.h;h=f7dbd28e4dda2db69cb3cc1ef7acf14ce251c75f;hb=ae559def6e29f4a2e43123c20e4ba97437655f10;hp=787ad38141f2c0b3320047f947a36a1e55c8429e;hpb=0e5e647acd5bf4c727a617f050309f95eea5bc60;p=u%2Fmrichter%2FAliRoot.git diff --git a/ITS/AliITSOnlineSDDInjectors.h b/ITS/AliITSOnlineSDDInjectors.h index 787ad38141f..f7dbd28e4dd 100644 --- a/ITS/AliITSOnlineSDDInjectors.h +++ b/ITS/AliITSOnlineSDDInjectors.h @@ -2,88 +2,186 @@ #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 mod, Int_t sid); + AliITSOnlineSDDInjectors(Int_t nddl, Int_t ncarlos, Int_t sid); virtual ~AliITSOnlineSDDInjectors(); - void SetSide(Int_t sid){fSide=sid;} - void SetThreshold(Float_t thr=75.){fThreshold=thr;} - void SetRangeLine1(Int_t tbmin=40, Int_t tbmax=90){ - fTbMin[0]=tbmin; fTbMax[0]=tbmax; + + void SetThresholds(Float_t tl, Float_t th){ + fLowThreshold=tl; + fHighThreshold=th; + } + void SetInjLineRange(Int_t jlin, Int_t tbmin, Int_t tbmax){ + fTbMin[jlin]=tbmin; + fTbMax[jlin]=tbmax; + } + void Set20MHzConfig(){ + SetInjLineRange(0,10,20); + SetInjLineRange(1,50,70); + SetInjLineRange(2,100,120); + SetTimeStep(50.); } - void SetRangeLine2(Int_t tbmin=90, Int_t tbmax=140){ - fTbMin[1]=tbmin; fTbMax[1]=tbmax; + void Set40MHzConfig(){ + SetInjLineRange(0,20,50); + SetInjLineRange(1,90,160); + SetInjLineRange(2,170,240); + SetTimeStep(25.); } - void SetRangeLine3(Int_t tbmin=170, Int_t tbmax=220){ - fTbMin[2]=tbmin; fTbMax[2]=tbmax; + 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 SetPolOrder(Int_t n=3){fPolOrder=n;} - void SetMinDriftVel(Float_t vmin=4.){fMinDriftVel=vmin;} - void SetMaxDriftVel(Float_t vmax=9.){fMaxDriftVel=vmax;} - - TGraphErrors* GetLineGraph(Int_t jlin); - TGraphErrors* GetDriftVelocityGraph(); - Float_t* GetDriftVelFitParam()const{ return fParam;} - Float_t GetDriftVelocity(Int_t jlin) const{return fDriftVel[jlin];} - Float_t GetSigmaDriftVelocity(Int_t jlin) const{return fSigmaDriftVel[jlin];} - Float_t GetTimeBinZero() const{return fTbZero;} - Float_t GetDriftCoordinate(Float_t cAnode, Float_t cTimeBin); - Int_t GetAnodeNumber(Int_t iInjLine); - - void PrintInjMap(); + 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; // Low threshold for injector signal + Float_t fHighThreshold; // 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 + + ClassDef(AliITSOnlineSDDInjectors,8) }; #endif