X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=MUON%2FAliMUONTriggerQADataMakerRec.h;h=2b7b0bb0601080d82ced1470c1d7199ea1a336ca;hb=4ea07fb1cc18895e809564254bbd46c40c49b1b4;hp=96374504844baef9abb11c2611c0c54cf7430555;hpb=ece56eb9d38b9746b84b76e9eaf5c4507f2961e4;p=u%2Fmrichter%2FAliRoot.git diff --git a/MUON/AliMUONTriggerQADataMakerRec.h b/MUON/AliMUONTriggerQADataMakerRec.h index 96374504844..2b7b0bb0601 100644 --- a/MUON/AliMUONTriggerQADataMakerRec.h +++ b/MUON/AliMUONTriggerQADataMakerRec.h @@ -21,6 +21,9 @@ class AliMUONVDigitStore; class TObjectArray; class TMap; class AliMpDCSNamer; +class AliMUONVTriggerStore; +class AliMUONGlobalTrigger; +class AliMUONTriggerUtilities; class AliMUONTriggerQADataMakerRec: public AliMUONVQADataMakerRec { @@ -36,6 +39,8 @@ public: void EndOfDetectorCycleRaws(Int_t specie, TObjArray** list); void EndOfDetectorCycleRecPoints(Int_t specie, TObjArray** list); void EndOfDetectorCycleESDs(Int_t specie, TObjArray** list); + + /// Empty implementation void EndOfDetectorCycleDigits(Int_t , TObjArray** ) {} virtual void MakeRaws(AliRawReader* rawReader); @@ -44,147 +49,51 @@ public: virtual void MakeRecPoints(TTree* recpo); virtual void MakeESDs(AliESDEvent* esd) ; -public: - - /// Raw histograms indices - - enum ERaw { - kTriggerScalers = 22, ///< Trigger scalers histogram per plane index - kTriggerScalersDisplay = 30, ///< Trigger scalers display histogram per plane index - kTriggerScalersTime = 38, ///< Trigger scalers acquisition time index - kTriggerCalibSummary = 39, ///< Summary of responding strips/boards and noisy strips - kTriggeredBoards = 40, ///< Triggered boards histogram index - kTriggerBoardsDisplay = 41, ///< Triggered boards display histogram index - kTriggerErrorLocalXPos = 50, ///< Local board: Number of XPos Error vs Local Board Id - kTriggerErrorLocalYPos = 51, ///< Local board: Number of YPos Error vs Local Board Id - kTriggerErrorLocalDev = 52, ///< Local board: Number of Deviation Error vs Local Board - kTriggerErrorLocalTriggerDec = 53, ///< Local board: Number of Trigger Decision (All Pt) Error vs Local Board Id - kTriggerErrorLocalLPtLSB = 54, ///< Local board: Number of LSB Low Pt Error vs Local Board Id - kTriggerErrorLocalLPtMSB = 55, ///< Local board: Number of MSB Low Pt Error vs Local Board Id - kTriggerErrorLocalHPtLSB = 56, ///< Local board: Number of LSB High Pt Error vs Local Board Id - kTriggerErrorLocalHPtMSB = 57, ///< Local board: Number of MSB High Pt Error vs Local Board Id - kTriggerErrorLocal2RegionalLPtLSB = 58, ///< Local to Regional: Number of LPt LSB error vs Local Board Id - kTriggerErrorLocal2RegionalLPtMSB = 59, ///< Local to Regional: Number of LPt MSB error vs Local Board Id - kTriggerErrorLocal2RegionalHPtLSB = 60, ///< Local to Regional: Number of HPt LSB error vs Local Board Id - kTriggerErrorLocal2RegionalHPtMSB = 61, ///< Local to Regional: Number of HPt MSB error vs Local Board Id - kTriggerErrorOutGlobalFromInGlobal = 62, ///< Global board: Number of error vs output bit - kTriggerError = 63, ///< percentage of error for each trigger decision level (Local, Reg->Local, Reg, Reg->Glob, Global) - kTriggerErrorLocalTrigY = 64, ///< Local board: Number of TrigY Error vs Local Board Id - kTriggerErrorLocalYCopy = 65, ///< Local board: Number of Y Copy Error vs Local Board Id - - kRawNAnalyzedEvents = 66, ///< Number of analyzed events per event specie - kTriggerReadOutErrors = 67, ///< Number of read-out errors - kTriggerGlobalOutput = 68 //< Histo including Global outputs and Global algo errors - }; - - /// Rec points histograms indices - enum ERecPoints { - kNAnalyzedEvents = 0, ///< Number of analyzed events per event specie - kTriggerRPCtrips = 1, ///< Trips in trigger chambers - kTriggerRPChv = 2, ///< Trigger chamber HV index - }; - -// /// ESD histograms indices -// enum EESD { -// }; - - // Bins for summary histos - enum { - kTriggerRespStrips, ///< Bin for % of responding trigger strips - kTriggerRespLocal, ///< Bin for % of responding trigger local boards - kTriggerRespRegional, ///< Bin for % of responding trigger regional boards - kTriggerRespGlobal, ///< Bin for % of responding trigger global boards - kTriggerNoisyStrips, ///< Bin for % of noisy trigger strips - kNtrigCalibSummaryBins ///< Total number of bins for trigger calibration summary - }; - - // Bins for algorithm error histos - enum { - kAlgoLocalX, ///< Bin for % of local board X pos errors - kAlgoLocalY, ///< Bin for % of local board Y pos errors - kAlgoLocalLUT, ///< Bin for % of local board deviation errors - kAlgoLocalYCopy, ///< Bin for % of local board Y copy errors - kAlgoLocalToRegional, ///< Bin for % of local to regional errors - kAlgoRegional, ///< Bin for % of regional board errors - kAlgoRegionalToGlobal, ///< Bin for % of regional to global errors - kAlgoGlobalFromGlobal, ///< Bin for % of global from global board errors - kAlgoGlobalFromLocal, ///< Bin for % of global from local board errors - kAlgoGlobalFromRegional, ///< Bin for % of global from regional board errors - kNtrigAlgoErrorBins ///< Total number of bins for trigger error summary - }; - - enum { - kLocalStructError, ///< Bin for % of errors in local struct - kRegionalStructError, ///< Bin for % of errors in regional struct - kGlobalStructError, ///< Bin for % of errors in global struct - kDarcStructError, ///< Bin for % of errors in darc struct - kNtrigStructErrorBins ///< Total number of bins for struct error summary - }; + void ResetDetectorRaws(TObjArray* list); private: - + /// Not implemented AliMUONTriggerQADataMakerRec(const AliMUONTriggerQADataMakerRec& qadm); + /// Not implemented AliMUONTriggerQADataMakerRec& operator=(const AliMUONTriggerQADataMakerRec& qadm); - void DisplayTriggerInfo(); + void DisplayTriggerInfo(Int_t itc); + void FillRatio4434Histos(Int_t evtInterval, Int_t itc, Bool_t isEndOfCycle); Bool_t FillTriggerDCSHistos(); TObjArray* GetDCSValues(Int_t iMeas, Int_t detElemId, TMap* triggerDcsMap, AliMpDCSNamer& triggerDcsNamer); - void RawTriggerInRegional2OutRegional(); - void RawTriggerInGlobal2OutGlobal(); + UChar_t RawTriggerInGlobal2OutGlobal(UInt_t globalInput[4]); void RawTriggerMatchOutLocal(); - void RawTriggerMatchOutLocalInRegional(); - void RawTriggerMatchOutGlobalFromInGlobal(); - - Int_t fTriggerOutputLocalDataTriggerDec[235]; ///< Data Local Trigger decision for each active Local Board - Int_t fTriggerOutputLocalDataTrigY[235]; ///< Data Local Trigger Y decision for each active Local Board - Int_t fTriggerOutputLocalDataLPtDec[2][235]; ///< Data Local decision Low Pt for each active Local Board (2 Bits -> 0:LSB, 1:MSB) - Int_t fTriggerOutputLocalDataHPtDec[2][235]; ///< Data Local decision High Pt for each active Local Board (2 Bits -> 0:LSB, 1:MSB) - Int_t fTriggerOutputLocalDataXPos[235]; ///< Data Local XPos for each active Local Board - Int_t fTriggerOutputLocalDataYPos[235]; ///< Data Local YPos for each active Local Board - Int_t fTriggerOutputLocalDataDev[235]; ///< Data Local deviation for each active Local Board - - Int_t fTriggerOutputLocalRecTriggerDec[235]; ///< Reconstructed Local Trigger decision for each active Local Board - Int_t fTriggerOutputLocalRecTrigY[235]; ///< Reconstructed Local Trigger Y decision for each active Local Board - Int_t fTriggerOutputLocalRecLPtDec[2][235]; ///< Reconstructed Local decision Low Pt for each active Local Board (2 Bits -> 0:LSB, 1:MSB) - Int_t fTriggerOutputLocalRecHPtDec[2][235]; ///< Reconstructed Local decision High Pt for each active Local Board (2 Bits -> 0:LSB, 1:MSB) - Int_t fTriggerOutputLocalRecXPos[235]; ///< Reconstructed Local XPos for each active Local Board - Int_t fTriggerOutputLocalRecYPos[235]; ///< Reconstructed Local YPos for each active Local Board - Int_t fTriggerOutputLocalRecDev[235]; ///< Reconstructed Local deviation for each active Local Board - - Int_t fTriggerInputRegionalDataLPt[2][235]; ///< Data Regional Input LPt for each Local board - Int_t fTriggerInputRegionalDataHPt[2][235]; ///< Data Regional Input HPt for each Local board - Int_t fTriggerOutputRegionalData[16]; ///< Data Regional Trigger decision for each Regional Board (1R:0, 2R:1, ... , 1L:8, ...) -> 4 bits LPt, 4 bits HPt - Int_t fTriggerInputRegionalRecLPt[2][16][16]; ///< Reconstructed Regional Input LPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...) - Int_t fTriggerInputRegionalRecHPt[2][16][16]; ///< Reconstructed Regional Input HPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...) - Int_t fTriggerOutputRegionalRec[16]; ///< Reconstructed Regional Trigger decision for each Regional Board (8 Bits) - - Int_t fTriggerInputGlobalDataLPt[16][4]; ///< Data Global inputs LPt (1R:0, 2R:1, ... , 1L:8, ...) - Int_t fTriggerInputGlobalDataHPt[16][4]; ///< Data Global inputs HPt (1R:0, 2R:1, ... , 1L:8, ...) - Int_t fTriggerOutputGlobalData[6]; ///< Data Global outputs - Int_t fTriggerOutputGlobalRecFromGlobalInput[6]; //< Reconstructed Global outputs from Global inputs - Int_t fTriggerOutputGlobalRecFromLocalInput[6]; //< Reconstructed Global outputs from Local inputs - Int_t fTriggerOutputGlobalRecFromLocalOutput[6]; //< Reconstructed Global outputs from Local outputs - Int_t fgitmp[4]; //< Tempory used to store Global inputs - Int_t fgotmp[6]; //< Tempory used to store Global outputs - - Int_t fTriggerPatternX1[243][16]; ///< Local pattern X1 - Int_t fTriggerPatternX2[243][16]; ///< Local pattern X2 - Int_t fTriggerPatternX3[243][16]; ///< Local pattern X3 - Int_t fTriggerPatternX4[243][16]; ///< Local pattern X4 - Int_t fTriggerPatternY1[243][16]; ///< Local pattern Y1 - Int_t fTriggerPatternY2[243][16]; ///< Local pattern Y2 - Int_t fTriggerPatternY3[243][16]; ///< Local pattern Y3 - Int_t fTriggerPatternY4[243][16]; ///< Local pattern Y4 - - Bool_t fTriggerErrorLocalYCopy[235]; ///< True if Y copy error for Local Board i + //void RawTriggerMatchOutLocalInRegional(); + void RawTriggerMatchOutGlobal(AliMUONGlobalTrigger& inputLocalTrigger, + AliMUONGlobalTrigger& recoGlobalTrigger, + Char_t histo); + AliMUONTriggerElectronics* TriggerElectronics(); + AliMUONCalibrationData* CalibrationData(); + AliMUONTriggerUtilities* TriggerUtilities(); + + //Int_t fTriggerOutputRegionalData[16]; ///< Data Regional Trigger decision for each Regional Board (1R:0, 2R:1, ... , 1L:8, ...) -> 4 bits LPt, 4 bits HPt + //Int_t fTriggerInputRegionalRecLPt[2][16][16]; ///< Reconstructed Regional Input LPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...) + //Int_t fTriggerInputRegionalRecHPt[2][16][16]; ///< Reconstructed Regional Input HPt for each Regional Board ([bit][reg][loc]) (reg -> 1R:0, 2R:1, ... , 1L:8, ...) + //Int_t fTriggerOutputRegionalRec[16]; ///< Reconstructed Regional Trigger decision for each Regional Board (8 Bits) + + //Int_t fTriggerInputGlobalDataLPt[16][4]; ///< Data Global inputs LPt (1R:0, 2R:1, ... , 1L:8, ...) + //Int_t fTriggerInputGlobalDataHPt[16][4]; ///< Data Global inputs HPt (1R:0, 2R:1, ... , 1L:8, ...) + //Int_t fTriggerOutputGlobalRecFromLocalInput[6]; //< Reconstructed Global outputs from Local inputs + //Int_t fTriggerOutputGlobalRecFromLocalOutput[6]; //< Reconstructed Global outputs from Local outputs + + static const Int_t fgkUpdateRatio4434=50; ///< Event interval between 2 update of the Ratio4434 histos AliMUONDigitMaker* fDigitMaker; //!< pointer to digit maker AliMUONCalibrationData* fCalibrationData; //!< Used to load Local, Regional and Global masks AliMUONTriggerElectronics* fTriggerProcessor; //!< trigger processore to re-compute response AliMUONVDigitStore* fDigitStore; //!< pointer to digits store + AliMUONVDigitStore* fDigitStoreFromRaw; //!< pointer to digit store from RAW data + AliMUONVTriggerStore* fTriggerStoreFromRaw; //!< pointer to trigger store from input RAW data + AliMUONVTriggerStore* fTriggerStoreReprocessRaw; //!< pointer to trigger store from re-computed RAW data + AliMUONTriggerUtilities* fTriggerUtils; //! trigger utilities (for masks) - ClassDef(AliMUONTriggerQADataMakerRec,1) // MUON Quality assurance data maker + ClassDef(AliMUONTriggerQADataMakerRec,3) // MUON Quality assurance data maker };