From d0ff6548f063f24c99162608c4dcfa412e8def5b Mon Sep 17 00:00:00 2001 From: cvetan Date: Fri, 4 Jun 2010 14:50:41 +0000 Subject: [PATCH] With this commit the VZERO trigger simulation is recovered. 1. The main change in the code of the digitizer is that we take out the time delays in FEE from the ADC sampling sequence. It turned out that the ADC input signal is not delayed. 2. the trigger simulation is adjested to the new digitization code. 3. A small bug fix in the trigger simulation itself. 4. Updated trigger OCDB entry taken directly from RAW OCDB. 5. The results of the trigger simulation that goes to the raw data is stored in the UserInfo of the digits tree (and therefore the digits tree is opened in update mode). The next step is to store all the simulated data into the raw-data structures and afterwards change the raw->(s)digits methods. --- .../Trigger/Data/Run0_999999999_v0_s0.root | Bin 3803 -> 4107 bytes VZERO/AliVZEROCalibData.cxx | 10 +++++ VZERO/AliVZEROCalibData.h | 1 + VZERO/AliVZEROConst.h | 2 +- VZERO/AliVZERODigitizer.cxx | 8 ++-- VZERO/AliVZEROLogicalSignal.cxx | 4 +- VZERO/AliVZEROTrigger.cxx | 6 ++- VZERO/AliVZEROTriggerSimulator.cxx | 38 ++++++++++++++---- VZERO/MakeVZEROTriggerEntry.C | 24 +++++++++++ 9 files changed, 78 insertions(+), 15 deletions(-) create mode 100644 VZERO/MakeVZEROTriggerEntry.C diff --git a/OCDB/VZERO/Trigger/Data/Run0_999999999_v0_s0.root b/OCDB/VZERO/Trigger/Data/Run0_999999999_v0_s0.root index aaa0956bd8572d26d75db346340567ee8d2bb56a..8a5e15edebaca4e2f3d85cd285c0da85b1b22dd1 100644 GIT binary patch delta 3644 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 diff --git a/VZERO/AliVZEROCalibData.cxx b/VZERO/AliVZEROCalibData.cxx index 5499a419ac9..053dd15c426 100644 --- a/VZERO/AliVZEROCalibData.cxx +++ b/VZERO/AliVZEROCalibData.cxx @@ -612,3 +612,13 @@ Int_t AliVZEROCalibData::GetBoardNumber(Int_t channel) AliErrorClass(Form("Wrong channel index: %d",channel)); return -1; } + +Int_t AliVZEROCalibData::GetFEEChannelNumber(Int_t channel) +{ + // Get FEE channel number + // from offline channel index + if (channel >= 0 && channel < 64) return (7 - (channel % 8)); + + AliErrorClass(Form("Wrong channel index: %d",channel)); + return -1; +} diff --git a/VZERO/AliVZEROCalibData.h b/VZERO/AliVZEROCalibData.h index cfa209a67d1..ab3b2fa09cb 100644 --- a/VZERO/AliVZEROCalibData.h +++ b/VZERO/AliVZEROCalibData.h @@ -108,6 +108,7 @@ class AliVZEROCalibData: public TNamed { static Int_t GetOfflineChannelNumber(Int_t board, Int_t channel); static Int_t GetBoardNumber(Int_t channel); + static Int_t GetFEEChannelNumber(Int_t channel); protected: Float_t fPedestal[128]; // Mean pedestal values diff --git a/VZERO/AliVZEROConst.h b/VZERO/AliVZEROConst.h index f706ffc722f..9f2fd9082a8 100644 --- a/VZERO/AliVZEROConst.h +++ b/VZERO/AliVZEROConst.h @@ -6,7 +6,7 @@ const Float_t kIntTimeRes = 0.39; // intrinsic time resolution of the scintillator const Float_t kV0CDelayCables = 8.1; // delay cables on the C side (in ns) const Float_t kV0Offset = 1461.4; // general V0 offset between the TDCs and the trigger -const Float_t kADCTimeOffset = -189.0; // ADC sampling clock offset (in ns) +const Float_t kClockOffset = 62.0; // Sampling clock offset (in ns) const Int_t kNClocks = 21; // Number of ADC clocks that are read out const Float_t kChargePerADC = 0.6e-12; // Charge per ADC const Int_t kMinTDCWidth = 13; // minimum signal width measured by TDC diff --git a/VZERO/AliVZERODigitizer.cxx b/VZERO/AliVZERODigitizer.cxx index d9801c7e624..227abe14170 100644 --- a/VZERO/AliVZERODigitizer.cxx +++ b/VZERO/AliVZERODigitizer.cxx @@ -322,8 +322,8 @@ void AliVZERODigitizer::Exec(Option_t* /*option*/) Int_t nPhE; Float_t prob = lightYieldCorr[pmt]*fPhotoCathodeEfficiency; // Optical losses included! if (nPhot > 100) - nPhE =gRandom->Gaus(prob*Float_t(nPhot)+0.5, - sqrt(Float_t(nPhot)*prob*(1.-prob))); + nPhE = (Int_t)gRandom->Gaus(prob*Float_t(nPhot)+0.5, + sqrt(Float_t(nPhot)*prob*(1.-prob))); else nPhE = gRandom->Binomial(nPhot,prob); Float_t charge = TMath::Qe()*fPmGain[pmt]*fBinSize[pmt]/integral; @@ -363,8 +363,8 @@ void AliVZERODigitizer::Exec(Option_t* /*option*/) } } } - Float_t tadc = t - kADCTimeOffset; - Int_t clock = kNClocks - Int_t(tadc/25.0) - 1; + Float_t tadc = t - kClockOffset - fCalibData->GetTimeOffset(ipmt); + Int_t clock = kNClocks/2 - Int_t(tadc/25.0); if (clock >= 0 && clock < kNClocks) fAdc[ipmt][clock] += fTime[ipmt][iBin]/kChargePerADC; } diff --git a/VZERO/AliVZEROLogicalSignal.cxx b/VZERO/AliVZEROLogicalSignal.cxx index a854356cbcc..60dc489bf6c 100644 --- a/VZERO/AliVZEROLogicalSignal.cxx +++ b/VZERO/AliVZEROLogicalSignal.cxx @@ -60,8 +60,8 @@ AliVZEROLogicalSignal::AliVZEROLogicalSignal(UShort_t profilClock, UInt_t delay) } if(!down) fStop = 25.; - fStart += delay*10.e-3; // Add 10 ps par register unit - fStop += delay*10.e-3; + fStart += delay*10.e-2; // Add 10 ps par register unit + fStop += delay*10.e-2; } //_____________________________________________________________________________ AliVZEROLogicalSignal::AliVZEROLogicalSignal(const AliVZEROLogicalSignal &signal) : diff --git a/VZERO/AliVZEROTrigger.cxx b/VZERO/AliVZEROTrigger.cxx index c06b1f8d249..8f6041b7055 100644 --- a/VZERO/AliVZEROTrigger.cxx +++ b/VZERO/AliVZEROTrigger.cxx @@ -83,7 +83,7 @@ void AliVZEROTrigger::Trigger() AliError("Can not get VZERO loader"); return; } - loader->LoadDigits("READ"); + loader->LoadDigits("update"); TTree* vzeroDigitsTree = loader->TreeD(); if (!vzeroDigitsTree) { @@ -96,8 +96,12 @@ void AliVZEROTrigger::Trigger() AliVZEROTriggerSimulator * triggerSimulator = new AliVZEROTriggerSimulator(vzeroDigitsTree,vzeroDigits); + triggerSimulator->Run(); + loader->WriteDigits("OVERWRITE"); + loader->UnloadDigits(); + if(triggerSimulator->GetBBAandBBC()) SetInput( "VZERO_BBA_AND_BBC" ); if(triggerSimulator->GetBBAorBBC()) SetInput( "VZERO_BBA_OR_BBC" ); if(triggerSimulator->GetBGAandBBC()) SetInput( "VZERO_BGA_AND_BBC" ); diff --git a/VZERO/AliVZEROTriggerSimulator.cxx b/VZERO/AliVZEROTriggerSimulator.cxx index 878727fccc1..3f0880b7b01 100644 --- a/VZERO/AliVZEROTriggerSimulator.cxx +++ b/VZERO/AliVZEROTriggerSimulator.cxx @@ -22,6 +22,7 @@ #include #include +#include #include "AliLog.h" #include "AliCDBManager.h" @@ -32,6 +33,8 @@ #include "AliVZEROLogicalSignal.h" #include "AliVZEROTriggerSimulator.h" #include "AliVZEROdigit.h" +#include "AliVZEROCalibData.h" +#include "AliVZEROConst.h" ClassImp(AliVZEROTriggerSimulator) @@ -153,11 +156,11 @@ void AliVZEROTriggerSimulator::Run() { Int_t integrator = digit->Integrator(); Int_t pmNumber = digit->PMNumber(); - Int_t board = pmNumber / 8; - Int_t channel = pmNumber % 8; + Int_t board = AliVZEROCalibData::GetBoardNumber(pmNumber); + Int_t channel = AliVZEROCalibData::GetFEEChannelNumber(pmNumber); if(fTriggerData->GetEnableCharge(board,channel)) { - fCharges[pmNumber] = digit->ADC(); + fCharges[pmNumber] = digit->ChargeADC(AliVZEROdigit::kNClocks/2); if(fTriggerData->GetPedestalSubtraction(board)) { if(fCharges[pmNumber]>=(Float_t) fTriggerData->GetPedestalCut(integrator,board,channel)){ fCharges[pmNumber] -= (Float_t) fTriggerData->GetPedestal(integrator,board,channel); @@ -169,10 +172,17 @@ void AliVZEROTriggerSimulator::Run() { fCharges[pmNumber] = 0.; } - Float_t time = digit->Time(); - time += fTriggerData->GetDelayHit(board,channel); - - //AliInfo(Form(" PM nb : %d ; ADC= %d ; TDC= %f Enable Time %d charge %d",pmNumber,digit->ADC(),time,fTriggerData->GetEnableTiming(board,channel),fTriggerData->GetEnableCharge(board,channel))); + Float_t time = digit->Time(); + time -= kClockOffset; + + AliDebug(10,Form(" Digit: %f %d %d %d %d %d %d %d %d",digit->Time(), + digit->ChargeADC(8),digit->ChargeADC(9),digit->ChargeADC(10), + digit->ChargeADC(11),digit->ChargeADC(12),digit->ChargeADC(13), + digit->ChargeADC(14),digit->ChargeADC(15))); + AliDebug(10,Form(" PM nb : %d ; ADC= %f ; TDC= %f(%f) Enable Time %d charge %d inCoin %d charge %f", + pmNumber,digit->ADC(),time,digit->Time(), + fTriggerData->GetEnableTiming(board,channel),fTriggerData->GetEnableCharge(board,channel), + fBBGate[board]->IsInCoincidence(time),fCharges[pmNumber])); fBBFlags[pmNumber] = fTriggerData->GetEnableTiming(board,channel) && fBBGate[board]->IsInCoincidence(time); fBGFlags[pmNumber] = fTriggerData->GetEnableTiming(board,channel) && fBGGate[board]->IsInCoincidence(time); @@ -185,19 +195,33 @@ void AliVZEROTriggerSimulator::Run() { Int_t nBGflagsV0C = 0; Float_t chargeV0A = 0.; Float_t chargeV0C = 0.; + Int_t aBBflagsV0A = 0; + Int_t aBBflagsV0C = 0; + Int_t aBGflagsV0A = 0; + Int_t aBGflagsV0C = 0; for(int i=0;i<64;i++) { if(i<32) { nBBflagsV0C += fBBFlags[i]; nBGflagsV0C += fBGFlags[i]; chargeV0C += fCharges[i]; + if (fBBFlags[i]) aBBflagsV0C |= (1 << i); + if (fBGFlags[i]) aBGflagsV0C |= (1 << i); } else { nBBflagsV0A += fBBFlags[i]; nBGflagsV0A += fBGFlags[i]; chargeV0A += fCharges[i]; + if (fBBFlags[i]) aBBflagsV0A |= (1 << (i-32)); + if (fBGFlags[i]) aBGflagsV0A |= (1 << (i-32)); } //AliInfo(Form("Ch %d BB=%d BG=%d",i,fBBFlags[i],fBGFlags[i] )); } + + // Store the BB and BG flags in the digits tree (user info) + fDigitsTree->GetUserInfo()->Add(new TParameter("BBflagsV0A",aBBflagsV0A)); + fDigitsTree->GetUserInfo()->Add(new TParameter("BBflagsV0C",aBBflagsV0C)); + fDigitsTree->GetUserInfo()->Add(new TParameter("BGflagsV0A",aBGflagsV0A)); + fDigitsTree->GetUserInfo()->Add(new TParameter("BGflagsV0C",aBGflagsV0C)); // BBA if(nBBflagsV0A>=fTriggerData->GetBBAThreshold()) SetBBA(); diff --git a/VZERO/MakeVZEROTriggerEntry.C b/VZERO/MakeVZEROTriggerEntry.C new file mode 100644 index 00000000000..ba15c6aa03d --- /dev/null +++ b/VZERO/MakeVZEROTriggerEntry.C @@ -0,0 +1,24 @@ +void MakeVZEROTriggerEntry(Int_t run,const char *inputCDB = "raw://"){ + + AliCDBManager *man = AliCDBManager::Instance(); + + man->SetDefaultStorage(inputCDB); + man->SetRun(run); + + AliCDBEntry *entry = man->Get("VZERO/Trigger/Data"); + AliVZEROTriggerData *trigdata = (AliVZEROTriggerData*)entry->GetObject(); + entry->SetObject(NULL); + entry->SetOwner(kTRUE); + + AliCDBMetaData *md= new AliCDBMetaData(); // metaData describing the object + md->SetResponsible("Brigitte Cheynis"); + md->SetBeamPeriod(0); + md->SetAliRootVersion(gSystem->Getenv("ARVERSION")); + md->SetComment("VZERO Trigger Conditions Data from RAW OCDB"); + AliCDBId id("VZERO/Trigger/Data",0,AliCDBRunRange::Infinity()); + + man->SetDefaultStorage("local://$ALICE_ROOT/OCDB"); + AliCDBStorage *storLoc = man->GetDefaultStorage(); + storLoc->Put(trigdata, id, md); + +} -- 2.39.3