X-Git-Url: http://git.uio.no/git/?a=blobdiff_plain;f=ZDC%2FAliZDCQADataMakerRec.cxx;h=e41e9e09a8e08f383070ce06190037b420cadfa6;hb=7aea218a8753f9e6ce7e7a34c7bab88ece140d3d;hp=311637874d01b1d2ac19ddf0b2d76e7c2ed63a3e;hpb=c473b43d4e14a3c1c75c3f5c92ab5185a396ec8f;p=u%2Fmrichter%2FAliRoot.git diff --git a/ZDC/AliZDCQADataMakerRec.cxx b/ZDC/AliZDCQADataMakerRec.cxx index 311637874d0..e41e9e09a8e 100644 --- a/ZDC/AliZDCQADataMakerRec.cxx +++ b/ZDC/AliZDCQADataMakerRec.cxx @@ -174,8 +174,8 @@ void AliZDCQADataMakerRec::InitRaws() TH1F * hZPCSpectrum = new TH1F("hZPCSpectrum","ZPC spectrum;Amplitude [ADC counts];Counts",100,0.,1200.); TH1F * hZNASpectrum = new TH1F("hZNASpectrum","ZNA spectrum;Amplitude [ADC counts];Counts",100,0.,1200.); TH1F * hZPASpectrum = new TH1F("hZPASpectrum","ZPA spectrum;Amplitude [ADC counts];Counts",100,0.,1200.); - TH1F * hZEM1Spectrum = new TH1F("hZEM1Spectrum","ZEM1 spectrum;Amplitude [ADC counts];Counts",100,0.,1200.); - TH1F * hZEM2Spectrum = new TH1F("hZEM2Spectrum","ZEM2 spectrum;Amplitude [ADC counts];Counts",100,0.,1200.); + TH1F * hZEM1Spectrum = new TH1F("hZEM1Spectrum","ZEM1 spectrum;Amplitude [ADC counts];Counts",100,7., 1207.); + TH1F * hZEM2Spectrum = new TH1F("hZEM2Spectrum","ZEM2 spectrum;Amplitude [ADC counts];Counts",100,7., 1207.); Add2RawsList(hZNCSpectrum, 0, expert, !image); Add2RawsList(hZNASpectrum, 1, expert, !image); Add2RawsList(hZPCSpectrum, 2, expert, !image); @@ -183,19 +183,19 @@ void AliZDCQADataMakerRec::InitRaws() Add2RawsList(hZEM1Spectrum, 4, !expert, image); Add2RawsList(hZEM2Spectrum, 5, !expert, image); // - TH2F * hZNCpmCvsPMq = new TH2F("hZNCpmCvsPMq", "ZNC;PMC [ADC counts];Sum(PMQ) [ADC counts]",50,7.,1407.,50,7., 1407.); - TH2F * hZPCpmCvsPMq = new TH2F("hZPCpmCvsPMq", "ZPC;PMC [ADC counts];Sum(PMQ) [ADC counts]",50,7.,1407.,50,7., 1407.); - TH2F * hZNApmCvsPMq = new TH2F("hZNApmCvsPMq", "ZNA;PMC [ADC counts];Sum(PMQ) [ADC counts]",50,7.,1407.,50,7., 1407.); - TH2F * hZPApmCvsPMq = new TH2F("hZPApmCvsPMq", "ZPA;PMC [ADC counts];Sum(PMQ) [ADC counts]",50,7.,1407.,50,7., 1407.); + TH2F * hZNCpmCvsPMq = new TH2F("hZNCpmCvsPMq", "ZNC;PMC [ADC counts];Sum(PMQ) [ADC counts]",50,7.,1207.,50,7., 1207.); + TH2F * hZPCpmCvsPMq = new TH2F("hZPCpmCvsPMq", "ZPC;PMC [ADC counts];Sum(PMQ) [ADC counts]",50,7.,1207.,50,7., 1207.); + TH2F * hZNApmCvsPMq = new TH2F("hZNApmCvsPMq", "ZNA;PMC [ADC counts];Sum(PMQ) [ADC counts]",50,7.,1207.,50,7., 1207.); + TH2F * hZPApmCvsPMq = new TH2F("hZPApmCvsPMq", "ZPA;PMC [ADC counts];Sum(PMQ) [ADC counts]",50,7.,1207.,50,7., 1207.); Add2RawsList(hZNCpmCvsPMq, 6, !expert, image); Add2RawsList(hZNApmCvsPMq, 7, !expert, image); Add2RawsList(hZPCpmCvsPMq, 8, !expert, image); Add2RawsList(hZPApmCvsPMq, 9, !expert, image); - TH1F * hRawPMCZNC = new TH1F("hRawPMCZNC", "Raw ZNC PMC;Amplitude [ADC counts];Counts",100, 0., 1200.); - TH1F * hRawPMCZNA = new TH1F("hRawPMCZNA", "Raw ZNA PMC;Amplitude [ADC counts];Counts",100, 0., 1200.); - TH1F * hRawPMCZPC = new TH1F("hRawPMCZPC", "Raw ZPC PMC;Amplitude [ADC counts];Counts",100, 0., 1200.); - TH1F * hRawPMCZPA = new TH1F("hRawPMCZPA", "Raw ZPA PMC;Amplitude [ADC counts];Counts",100, 0., 1200.); + TH1F * hRawPMCZNC = new TH1F("hRawPMCZNC", "Raw ZNC PMC;Amplitude [ADC counts];Counts",100, 7., 1207.); + TH1F * hRawPMCZNA = new TH1F("hRawPMCZNA", "Raw ZNA PMC;Amplitude [ADC counts];Counts",100, 7., 1207.); + TH1F * hRawPMCZPC = new TH1F("hRawPMCZPC", "Raw ZPC PMC;Amplitude [ADC counts];Counts",100, 7., 1207.); + TH1F * hRawPMCZPA = new TH1F("hRawPMCZPA", "Raw ZPA PMC;Amplitude [ADC counts];Counts",100, 7., 1207.); Add2RawsList(hRawPMCZNC, 10, !expert, image); Add2RawsList(hRawPMCZNA, 11, !expert, image); Add2RawsList(hRawPMCZPC, 12, !expert, image); @@ -208,6 +208,11 @@ void AliZDCQADataMakerRec::InitRaws() Add2RawsList(hRawSumQZNA, 15, expert, !image); Add2RawsList(hRawSumQZPC, 16, expert, !image); Add2RawsList(hRawSumQZPA, 17, expert, !image); + + TH1F * hRawTDCZEM1 = new TH1F("hRawTDCZEM1", "Raw TDC ZEM1;TDC [ns]",200, -100., -50.); + Add2RawsList(hRawTDCZEM1, 18, !expert, image); + TH1F * hRawTDCZPC = new TH1F("hRawTDCZPC", "Raw TDC ZPC;TDC [ns]",200, -100., -50.); + Add2RawsList(hRawTDCZPC, 19, !expert, image); } @@ -437,15 +442,23 @@ void AliZDCQADataMakerRec::MakeRaws(AliRawReader *rawReader) int const kNch = 24; Float_t meanPed[2*kNch]; for(Int_t jj=0; jj<2*kNch; jj++) meanPed[jj] = fPedCalibData->GetMeanPed(jj); - + + Float_t zncSignal=0., znaSignal=0., zpcSignal=0., zpaSignal=0.; + Float_t zncSumQ=0., znaSumQ=0., zpcSumQ=0., zpaSumQ=0.; + Float_t zncpmC=0., znapmC=0., zpcpmC=0., zpapmC=0.; + Bool_t isZNCFired=kFALSE, isZPCFired=kFALSE, isZNAFired=kFALSE, isZPAFired=kFALSE; + Int_t indZNC=0, indZNA=0, indZPC=0, indZPA=0; + Float_t zpcTDC[10], zem1TDC[10]; + for(Int_t i=0; i<10; i++){ + zpcTDC[i] = zem1TDC[i] = -999.; + } + Float_t tdcL0=-999.; + Int_t iMultZPCTDC=0, iMultZEMTDC=0; + + rawReader->Reset(); AliZDCRawStream stream(rawReader); while(stream.Next()){ - - Float_t zncSignal=0., znaSignal=0., zpcSignal=0., zpaSignal=0.; - Float_t zncSumQ=0., znaSumQ=0., zpcSumQ=0., zpaSumQ=0.; - Float_t zncpmC=0., znapmC=0., zpcpmC=0., zpapmC=0.; - Bool_t isZNCFired=kFALSE, isZPCFired=kFALSE, isZNAFired=kFALSE, isZPAFired=kFALSE; - + if(stream.IsADCDataWord() && (stream.GetADCModule()==0 || stream.GetADCModule()==1)){ @@ -467,6 +480,7 @@ void AliZDCQADataMakerRec::MakeRaws(AliRawReader *rawReader) zncpmC = pedSubVal; GetRawsData(10)->Fill(zncpmC); } + indZNC++; } } else if(det == 2){ @@ -480,6 +494,7 @@ void AliZDCQADataMakerRec::MakeRaws(AliRawReader *rawReader) zpcpmC = pedSubVal; GetRawsData(12)->Fill(zpcpmC); } + indZPC++; } } else if(det == 3){ @@ -508,6 +523,7 @@ void AliZDCQADataMakerRec::MakeRaws(AliRawReader *rawReader) znapmC = pedSubVal; GetRawsData(11)->Fill(znapmC); } + indZNA++; } } else if(det == 5){ @@ -521,32 +537,79 @@ void AliZDCQADataMakerRec::MakeRaws(AliRawReader *rawReader) zpapmC = pedSubVal; GetRawsData(13)->Fill(zpapmC); } + indZPA++; } } } // - if(isZNCFired){ + if(isZNCFired && indZNC==5){ GetRawsData(0)->Fill(zncSignal); GetRawsData(6)->Fill(zncSumQ, zncpmC); GetRawsData(14)->Fill(zncSumQ); } - if(isZPCFired){ + if(isZPCFired && indZPC==5){ GetRawsData(2)->Fill(zpcSignal); GetRawsData(8)->Fill(zpcSumQ, zpcpmC); GetRawsData(16)->Fill(zpcSumQ); } - if(isZNAFired){ + if(isZNAFired && indZNA==5){ GetRawsData(1)->Fill(znaSignal); GetRawsData(7)->Fill(znaSumQ, znapmC); GetRawsData(15)->Fill(znaSumQ); } - if(isZPAFired){ + if(isZPAFired && indZPA==5){ GetRawsData(3)->Fill(zpaSignal); GetRawsData(9)->Fill(zpaSumQ, zpapmC); GetRawsData(17)->Fill(zpaSumQ); } + + if(indZNC==5){ + zncSignal = zncSumQ = zncpmC = 0; + isZNCFired=kFALSE; indZNC=0; + } + if(indZPC==5){ + zpcSignal = zpcSumQ = zpcpmC = 0; + isZPCFired=kFALSE; indZPC=0; + } + if(indZNA==5){ + znaSignal = znaSumQ = znapmC = 0; + isZNAFired=kFALSE; indZNA=0; + } + if(indZPA==5){ + zpaSignal = zpaSumQ = zpapmC = 0; + isZPAFired=kFALSE; indZPA=0; + } } //IsADCDataWord && signal ADCs + else if(stream.IsZDCTDCDatum()){ + if(stream.GetChannel()==3){ + zpcTDC[iMultZPCTDC] = (0.025*(stream.GetZDCTDCDatum())); + iMultZPCTDC++; + } + else if(stream.GetChannel()==8){ + zem1TDC[iMultZEMTDC] = (0.025*(stream.GetZDCTDCDatum())); + iMultZEMTDC++; + } + else if(stream.GetChannel()==16) tdcL0 = (0.025*(stream.GetZDCTDCDatum())); + + if(stream.GetChannel()==16 && tdcL0!=-999.){ + for(Int_t iHit=0; iHit<10; iHit++){ + if(zpcTDC[iHit]!=-999.){ + Float_t diffZPC = zpcTDC[iHit]-tdcL0; + GetRawsData(19)->Fill(diffZPC); + } + if(zem1TDC[iHit]!=-999.){ + Float_t diffZEM1 = zem1TDC[iHit]-tdcL0; + GetRawsData(18)->Fill(diffZEM1); + } + } + // + tdcL0 = -999.; + for(Int_t i=0; i<10; i++){ + zpcTDC[i] = zem1TDC[i] = -999.; + } + } + } } //stream.Next() // } // check on event type @@ -705,7 +768,6 @@ void AliZDCQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArr { //Detector specific actions at end of cycle // do the QA checking - printf(" AliZDCQADataMakerRec::EndOfDetectorCycle for task %d \n", task); if( task == AliQAv1::kRAWS){ if (!GetRawsData(4) || !GetRawsData(5) || !GetRawsData(6) || !GetRawsData(7) || !GetRawsData(8) || !GetRawsData(9) || !GetRawsData(10) || !GetRawsData(11) || @@ -713,33 +775,25 @@ void AliZDCQADataMakerRec::EndOfDetectorCycle(AliQAv1::TASKINDEX_t task, TObjArr printf(" WARNING!!! AliZDCQADataMaker Rec -> No histogram for DQM found!\n"); } else{ - TLine* diag = new TLine(7., 7., 1407., 1407.); - diag->SetLineColor(kRed); - diag->SetLineWidth(2); - - ((TH2F*)GetRawsData(6))->GetListOfFunctions()->Add(diag); - ((TH2F*)GetRawsData(7))->GetListOfFunctions()->Add(diag); - ((TH2F*)GetRawsData(8))->GetListOfFunctions()->Add(diag); - ((TH2F*)GetRawsData(9))->GetListOfFunctions()->Add(diag); GetRawsData(6)->SetOption("colz"); GetRawsData(7)->SetOption("colz"); GetRawsData(8)->SetOption("colz"); GetRawsData(9)->SetOption("colz"); - GetRawsData(4)->SetLineColor(kBlue+1); GetRawsData(4)->SetLineWidth(2); - GetRawsData(5)->SetLineColor(kBlue+2); GetRawsData(5)->SetLineWidth(2); - GetRawsData(10)->SetLineColor(kBlue+3); GetRawsData(10)->SetLineWidth(2); - GetRawsData(11)->SetLineColor(kBlue+4); GetRawsData(11)->SetLineWidth(2); - GetRawsData(12)->SetLineColor(kBlue+5); GetRawsData(12)->SetLineWidth(2); - GetRawsData(13)->SetLineColor(kBlue+6); GetRawsData(13)->SetLineWidth(2); + GetRawsData(4)->SetLineColor(kAzure+1); GetRawsData(4)->SetLineWidth(2); + GetRawsData(5)->SetLineColor(kAzure+2); GetRawsData(5)->SetLineWidth(2); + GetRawsData(10)->SetLineColor(kBlue); GetRawsData(10)->SetLineWidth(2); + GetRawsData(11)->SetLineColor(kBlue+1); GetRawsData(11)->SetLineWidth(2); + GetRawsData(12)->SetLineColor(kBlue+2); GetRawsData(12)->SetLineWidth(2); + GetRawsData(13)->SetLineColor(kBlue+3); GetRawsData(13)->SetLineWidth(2); - /*GetRawsData(4)->SetDrawOption("LOGY"); - GetRawsData(5)->SetDrawOption("LOGY"); - GetRawsData(10)->SetDrawOption("LOGY"); - GetRawsData(11)->SetDrawOption("LOGY"); - GetRawsData(12)->SetDrawOption("LOGY"); - GetRawsData(13)->SetDrawOption("LOGY");*/ + /*if(((GetRawsData(4))->GetEntries())>0) GetRawsData(4)->SetDrawOption("LOGY"); + if(((GetRawsData(5))->GetEntries())>0) GetRawsData(5)->SetDrawOption("LOGY"); + if(((GetRawsData(10))->GetEntries())>0) GetRawsData(10)->SetDrawOption("LOGY"); + if(((GetRawsData(11))->GetEntries())>0) GetRawsData(11)->SetDrawOption("LOGY"); + if(((GetRawsData(12))->GetEntries())>0) GetRawsData(12)->SetDrawOption("LOGY"); + if(((GetRawsData(13))->GetEntries())>0) GetRawsData(13)->SetDrawOption("LOGY");*/ } }