X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ZDC%2FAliZDCTrigger.cxx;h=8135f3a9938fcd8f46df9c0770f0fe68260b1d66;hb=b340141d337396316cc0942e4fc9f28099d37b7c;hp=00b96fccdddbf7fb9cb34afd9959a0fa4b9646b6;hpb=d8da9892b3d3f1404affe7ba837fc1192848651f;p=u%2Fmrichter%2FAliRoot.git diff --git a/ZDC/AliZDCTrigger.cxx b/ZDC/AliZDCTrigger.cxx index 00b96fccddd..8135f3a9938 100644 --- a/ZDC/AliZDCTrigger.cxx +++ b/ZDC/AliZDCTrigger.cxx @@ -13,6 +13,12 @@ * provided "as is" without express or implied warranty. * **************************************************************************/ +// **************************************************************** +// +// Trigger class for ZDC +// +// **************************************************************** + #include "AliLog.h" #include "AliRun.h" #include "AliLoader.h" @@ -27,112 +33,147 @@ ClassImp(AliZDCTrigger) //________________________________________________________________ -AliZDCTrigger::AliZDCTrigger() : AliTriggerDetector() -{ +AliZDCTrigger::AliZDCTrigger() : + AliTriggerDetector(), + fZDCLeftMinCut(0), + fZDCRightMinCut(0), + fZEMMinCut(0), + fZDCLeftMBCut(0), + fZDCRightMBCut(0), + fZDCLeftCentrCut(0), + fZDCRightCentrCut(0), + fZDCLeftSemiCentrCut(0), + fZDCRightSemiCentrCut(0), + fZEMCentrCut(0) +{ + // Constructor SetName("ZDC"); CreateInputs(); // - SetZNMinCut(0); - SetZDCMinCut(0); - SetZEMMinCut(0); SetZDCLeftEMDCuts(0,0); SetZDCRightEMDCuts(0,0); - SetZDCMBCut(0); - SetZDCCentrCut(0); - SetZDCSemiCentrCut(0); - SetZEMCentrCut(0); } //________________________________________________________________ void AliZDCTrigger::CreateInputs() { - // inputs + // Trigger inputs // Do not create inputs again!! if( fInputs.GetEntriesFast() > 0 ) return; - fInputs.AddLast(new AliTriggerInput("ZDC_1_L1", "ZDC Minimum Bias", 0x01)); - fInputs.AddLast(new AliTriggerInput("ZDC_2_L1", "ZDC Central", 0x02)); - fInputs.AddLast(new AliTriggerInput("ZDC_3_L1", "ZDC Semi-central", 0x04)); - fInputs.AddLast(new AliTriggerInput("ZDC_EMD_L1", "ZDC EMD events", 0x08)); + fInputs.AddLast(new AliTriggerInput("ZDC_MB_L1", "ZDC", 0)); + fInputs.AddLast(new AliTriggerInput("ZDC_Semi_L1", "ZDC", 0)); + fInputs.AddLast(new AliTriggerInput("ZDC_Cent_L1", "ZDC", 0)); + fInputs.AddLast(new AliTriggerInput("ZDC_EMD_L1", "ZDC", 0)); } //________________________________________________________________ void AliZDCTrigger::Trigger() { - + // Trigger selection + // AliRunLoader *runLoader = gAlice->GetRunLoader(); - AliLoader *ZDCLoader = runLoader->GetLoader("ZDCLoader"); - ZDCLoader->LoadDigits("READ"); + AliLoader *aZDCLoader = runLoader->GetLoader("ZDCLoader"); + aZDCLoader->LoadDigits("READ"); AliZDCDigit digit; AliZDCDigit* pdigit = &digit; - TTree* TD = ZDCLoader->TreeD(); - if (!TD) cerr<<"AliZDCTrigger: digits tree not found\n"; - TD->SetBranchAddress("ZDC", &pdigit); + TTree* tD = aZDCLoader->TreeD(); + if (!tD) { + cerr<<"AliZDCTrigger: digits tree not found\n"; + return; + } + tD->SetBranchAddress("ZDC", &pdigit); // - Float_t ZNSignal[2], ZPSignal[2], ZDCSumSignal[2], ZEMSumSignal[2]; - for(Int_t iDigit=0; iDigitGetEntries(); iDigit++){ - TD->GetEntry(iDigit); + Float_t signalZNLeft[]={0,0}, signalZPLeft[]={0,0}, signalZDCLeftSum[]={0,0}; + Float_t signalZNRight[]={0,0}, signalZPRight[]={0,0}, signalZDCRightSum[]={0,0}; + Float_t signalZEMSum[]={0,0}; + for(Int_t iDigit=0; iDigitGetEntries(); iDigit++){ + tD->GetEntry(iDigit); // + // *** ZDC LEFT if(digit.GetSector(0)==1) - for(Int_t i=0; i<2; i++){ - ZNSignal[i] += digit.GetADCValue(i); - ZDCSumSignal[i] += digit.GetADCValue(i); + for(Int_t i=0; i<2; i++){ //0=high range; 1=low range + signalZNLeft[i] += digit.GetADCValue(i); + signalZDCLeftSum[i] += digit.GetADCValue(i); } else if(digit.GetSector(0)==2) for(Int_t i=0; i<2; i++){ - ZPSignal[i] += digit.GetADCValue(i); - ZDCSumSignal[i] += digit.GetADCValue(i); + signalZPLeft[i] += digit.GetADCValue(i); + signalZDCLeftSum[i] += digit.GetADCValue(i); } else if(digit.GetSector(0)==3) - for(Int_t i=0; i<2; i++) ZEMSumSignal[i] += digit.GetADCValue(i); + for(Int_t i=0; i<2; i++) signalZEMSum[i] += digit.GetADCValue(i); + // *** ZDC RIGHT + else if(digit.GetSector(0)==4) + for(Int_t i=0; i<2; i++){ //0=high range; 1=low range + signalZNRight[i] += digit.GetADCValue(i); + signalZDCRightSum[i] += digit.GetADCValue(i); + } + else if(digit.GetSector(0)==5) + for(Int_t i=0; i<2; i++){ + signalZPRight[i] += digit.GetADCValue(i); + signalZDCRightSum[i] += digit.GetADCValue(i); + } } // ******************************************************************* - if(ZNSignal[1]>fZDCLeftEMDCuts[0] && ZNSignal[1]fZDCLeftMBCut && signalZDCRightSum[1]>fZDCRightMBCut) + // *** ZDC minimum bias trigger + SetInput("ZDC_1_L1"); // ******************************************************************* - if(ZDCSumSignal[0]>fZDCMBCut) // *** ZDC minimum bias - SetInput("ZDC_1_L1"); + if(signalZDCLeftSum[1]>fZDCLeftCentrCut && signalZDCLeftSum[1]fZDCRightCentrCut && signalZDCRightSum[1]fZEMCentrCut) + // *** ZDC semi-central (10-40%) + SetInput("ZDC_2_L1"); // ******************************************************************* - if(ZDCSumSignal[0]>fZDCMinCut && ZDCSumSignal[0]fZDCLeftMinCut && signalZDCLeftSum[1]fZDCRightMinCut && signalZDCRightSum[1]fZEMCentrCut) + // *** ZDC central (0-10%) + SetInput("ZDC_3_L1"); // ******************************************************************* - if(ZDCSumSignal[0]>fZDCCentrCut && ZDCSumSignal[0]fZEMCentrCut) - // *** ZDC semi-central (10-40%) - SetInput("ZDC_3_L1"); + if(signalZNLeft[0]>fZDCLeftEMDCuts[0] && signalZNLeft[0]fZDCRightEMDCuts[0] && signalZNRight[0]