@@ -165,6 +165,8 @@ void ZDCRecDataTask::initVecType()
165165 insertTypeVec (" ADC" );
166166 insertTypeVec (" TDCV" );
167167 insertTypeVec (" TDCA" );
168+ insertTypeVec (" TDCAC" );
169+ insertTypeVec (" ADCAC" );
168170 insertTypeVec (" BC" );
169171 insertTypeVec (" INFO" );
170172}
@@ -292,6 +294,15 @@ void ZDCRecDataTask::initHisto()
292294 addNewHisto (" ADC1D" , " h_ADC_ZPC_TC_H" , " ADC ZPC TC ZOOM" , " ADC" , " ZPCC" , " " , " " , 0 );
293295 addNewHisto (" ADC1D" , " h_ADC_ZPC_SUM_H" , " ADC ZPC SUM ZOOM" , " ADC" , " ZPCS" , " " , " " , 0 );
294296
297+ addNewHisto (" ADC1D" , " h_ADC_ZPA_TC_H_CUT" , " ADC ZPA TC ZOOM with cut" , " ADCAC" , " ZPAC" , " " , " " , 0 );
298+ addNewHisto (" ADC1D" , " h_ADC_ZPA_SUM_H_CUT" , " ADC ZPA SUM ZOOM with cut" , " ADCAC" , " ZPAS" , " " , " " , 0 );
299+ addNewHisto (" ADC1D" , " h_ADC_ZPC_TC_H_CUT" , " ADC ZPC TC ZOOM with cut" , " ADCAC" , " ZPCC" , " " , " " , 0 );
300+ addNewHisto (" ADC1D" , " h_ADC_ZPC_SUM_H_CUT" , " ADC ZPC SUM ZOOM with cut" , " ADCAC" , " ZPCS" , " " , " " , 0 );
301+ addNewHisto (" ADC1D" , " h_ADC_ZNA_TC_H_CUT" , " ADC ZNA TC ZOOM with cut" , " ADCAC" , " ZNAC" , " " , " " , 0 );
302+ addNewHisto (" ADC1D" , " h_ADC_ZNA_SUM_H_CUT" , " ADC ZNA SUM ZOOM with cut" , " ADCAC" , " ZNAS" , " " , " " , 0 );
303+ addNewHisto (" ADC1D" , " h_ADC_ZNC_TC_H_CUT" , " ADC ZNC TC ZOOM with cut" , " ADCAC" , " ZNCC" , " " , " " , 0 );
304+ addNewHisto (" ADC1D" , " h_ADC_ZNC_SUM_H_CUT" , " ADC ZNC SUM ZOOM with cut" , " ADCAC" , " ZNCS" , " " , " " , 0 );
305+
295306 if (auto param = mCustomParameters .find (" TDCT" ); param != mCustomParameters .end ()) {
296307 ILOG (Debug, Devel) << " Custom parameter - TDCT: " << param->second << ENDM;
297308 tokenString = tokenLine (param->second , " ;" );
@@ -350,6 +361,17 @@ void ZDCRecDataTask::initHisto()
350361 addNewHisto (" TDC1D" , " h_TDC_ZNC_SUM_A_H" , " TDC Amplitude ZNC SUM ZOOM" , " TDCA" , " ZNCS" , " " , " " , 0 );
351362 addNewHisto (" TDC1D" , " h_TDC_ZPC_TC_A_H" , " TDC Amplitude ZPC TC ZOOM" , " TDCA" , " ZPCC" , " " , " " , 0 );
352363 addNewHisto (" TDC1D" , " h_TDC_ZPC_SUM_A_H" , " TDC Amplitude ZPC SUM ZOOM" , " TDCA" , " ZPCS" , " " , " " , 0 );
364+
365+ addNewHisto (" TDC1D" , " h_TDC_ZPA_TC_A_H_CUT" , " TDC Amplitude ZPA TC ZOOM with cut" , " TDCAC" , " ZPAC" , " " , " " , 0 );
366+ addNewHisto (" TDC1D" , " h_TDC_ZPA_SUM_A_H_CUT" , " TDC Amplitude ZPA SUM ZOOM with cut" , " TDCAC" , " ZPAS" , " " , " " , 0 );
367+ addNewHisto (" TDC1D" , " h_TDC_ZPC_TC_A_H_CUT" , " TDC Amplitude ZPC TC ZOOM with cut" , " TDCAC" , " ZPCC" , " " , " " , 0 );
368+ addNewHisto (" TDC1D" , " h_TDC_ZPC_SUM_A_H_CUT" , " TDC Amplitude ZPC SUM ZOOM with cut" , " TDCAC" , " ZPCS" , " " , " " , 0 );
369+ addNewHisto (" TDC1D" , " h_TDC_ZNA_TC_A_H_CUT" , " TDC Amplitude ZNA TC ZOOM with cut" , " TDCAC" , " ZNAC" , " " , " " , 0 );
370+ addNewHisto (" TDC1D" , " h_TDC_ZNA_SUM_A_H_CUT" , " TDC Amplitude ZNA SUM ZOOM with cut" , " TDCAC" , " ZNAS" , " " , " " , 0 );
371+ addNewHisto (" TDC1D" , " h_TDC_ZNC_TC_A_H_CUT" , " TDC Amplitude ZNC TC ZOOM with cut" , " TDCAC" , " ZNCC" , " " , " " , 0 );
372+ addNewHisto (" TDC1D" , " h_TDC_ZNC_SUM_A_H_CUT" , " TDC Amplitude ZNC SUM ZOOM with cut" , " TDCAC" , " ZNCS" , " " , " " , 0 );
373+
374+
353375 // Centroid ZPA
354376 if (auto param = mCustomParameters .find (" CENTR_ZPA" ); param != mCustomParameters .end ()) {
355377 ILOG (Debug, Devel) << " Custom parameter - CENTR_ZPA: " << param->second << ENDM;
@@ -521,6 +543,8 @@ void ZDCRecDataTask::initHisto()
521543 setBinHisto2D (200 , -2 , 2 , 200 , -2 , 2 );
522544 }
523545 addNewHisto (" CENTR_ZNA" , " h_CENTR_ZNA" , " ZNA Centroid (cm)" , " ADC" , " CXZNA" , " ADC" , " CYZNA" , 0 );
546+ addNewHisto (" CENTR_ZNA" , " h_CENTR_ZNA_cut_ZEM" , " ZNA Centroid (cm)" , " ADC" , " CXZNA" , " ADC" , " CYZNA" , 0 );
547+
524548 // Centroid ZNC
525549 if (auto param = mCustomParameters .find (" CENTR_ZNC" ); param != mCustomParameters .end ()) {
526550 ILOG (Debug, Devel) << " Custom parameter - CENTR_ZNC: " << param->second << ENDM;
@@ -530,6 +554,8 @@ void ZDCRecDataTask::initHisto()
530554 setBinHisto2D (200 , -2 , 2 , 200 , -2 , 2 );
531555 }
532556 addNewHisto (" CENTR_ZNC" , " h_CENTR_ZNC" , " ZNC Centroid (cm)" , " ADC" , " CXZNC" , " ADC" , " CYZNC" , 0 );
557+ addNewHisto (" CENTR_ZNC" , " h_CENTR_ZNC_cut_ZEM" , " ZNC Centroid (cm)" , " ADC" , " CXZNC" , " ADC" , " CYZNC" , 0 );
558+
533559}
534560
535561bool ZDCRecDataTask::add1DHisto (std::string typeH, std::string name, std::string title, std::string typeCh1, std::string ch1, int bin)
@@ -564,6 +590,8 @@ bool ZDCRecDataTask::add1DHisto(std::string typeH, std::string name, std::string
564590 }
565591}
566592
593+
594+
567595bool ZDCRecDataTask::add2DHisto (std::string typeH, std::string name, std::string title, std::string typeCh1, std::string ch1, std::string typeCh2, std::string ch2)
568596{
569597 TString hname = TString::Format (" %s" , name.c_str ());
@@ -638,8 +666,43 @@ int ZDCRecDataTask::process(const gsl::span<const o2::zdc::BCRecData>& RecBC,
638666 // Histo 1D
639667 for (int i = 0 ; i < (int )mHisto1D .size (); i++) {
640668 // Fill ADC 1D
641- if (mHisto1D .at (i).typeh == " ADC1D" && mHisto1D .at (i).typech == " ADC" ) {
642- mHisto1D .at (i).histo ->Fill (getADCRecValue (mHisto1D .at (i).typech , mHisto1D .at (i).ch ));
669+ if (mHisto1D .at (i).typeh == " ADC1D" && (mHisto1D .at (i).typech == " ADC" || mHisto1D .at (i).typech == " ADCAC" )) {
670+
671+ if (mHisto1D .at (i).typech == " ADC" ) {
672+ mHisto1D .at (i).histo ->Fill (getADCRecValue (mHisto1D .at (i).typech , mHisto1D .at (i).ch ));
673+ }
674+
675+ if (mHisto1D .at (i).typech == " ADCAC" ) {
676+ if (mHisto1D .at (i).ch == " ZPAC" || mHisto1D .at (i).ch == " ZPAS" ){
677+ if (mEv .NtdcA (o2::zdc::TDCZNAC) == 0 && mEv .NtdcA (o2::zdc::TDCZNAS) == 0 ){
678+ if (getADCRecValue (" ADC" , mHisto1D .at (i).ch ) > -8000 ){
679+ mHisto1D .at (i).histo ->Fill (getADCRecValue (" ADC" , mHisto1D .at (i).ch ));
680+ }
681+ }
682+ }
683+ if (mHisto1D .at (i).ch == " ZPCC" || mHisto1D .at (i).ch == " ZPCS" ){
684+ if (mEv .NtdcA (o2::zdc::TDCZNCC) == 0 && mEv .NtdcA (o2::zdc::TDCZNCS) == 0 ){
685+ if (getADCRecValue (" ADC" , mHisto1D .at (i).ch ) > -8000 ){
686+ mHisto1D .at (i).histo ->Fill (getADCRecValue (" ADC" , mHisto1D .at (i).ch ));
687+ }
688+ }
689+ }
690+ if (mHisto1D .at (i).ch == " ZNAC" || mHisto1D .at (i).ch == " ZNAS" ){
691+ if (mEv .NtdcA (o2::zdc::TDCZPAC) == 0 && mEv .NtdcA (o2::zdc::TDCZPAS) == 0 ){
692+ if (getADCRecValue (" ADC" , mHisto1D .at (i).ch ) > -8000 ){
693+ mHisto1D .at (i).histo ->Fill (getADCRecValue (" ADC" , mHisto1D .at (i).ch ));
694+ }
695+ }
696+ }
697+ if (mHisto1D .at (i).ch == " ZNCC" || mHisto1D .at (i).ch == " ZNCS" ){
698+ if (mEv .NtdcA (o2::zdc::TDCZPCC) == 0 && mEv .NtdcA (o2::zdc::TDCZPCS) == 0 ){
699+ if (getADCRecValue (" ADC" , mHisto1D .at (i).ch ) > -8000 ){
700+ mHisto1D .at (i).histo ->Fill (getADCRecValue (" ADC" , mHisto1D .at (i).ch ));
701+ }
702+ }
703+ }
704+ }
705+
643706 }
644707
645708 // Fill TDC 1D
@@ -657,6 +720,65 @@ int ZDCRecDataTask::process(const gsl::span<const o2::zdc::BCRecData>& RecBC,
657720 }
658721 }
659722 }
723+
724+ // Fill TDCA with cut 1D
725+ if (mHisto1D .at (i).typeh == " TDC1D" && (mHisto1D .at (i).typech == " TDCAC" )) {
726+ int tdcid = getIdTDCch (" TDCA" , mHisto1D .at (i).ch );
727+ auto nhitv = mEv .NtdcV (tdcid);
728+ if (tdcid == o2::zdc::TDCZPAC || tdcid == o2::zdc::TDCZPAS ){
729+ if (mEv .NtdcA (o2::zdc::TDCZNAC) == 0 && mEv .NtdcA (o2::zdc::TDCZNAS) == 0 ){
730+ if (mEv .NtdcA (tdcid) == nhitv && nhitv > 0 ) {
731+ for (int ihit = 0 ; ihit < nhitv; ihit++) {
732+ if (mHisto1D .at (i).typech == " TDCAC" ) {
733+ if (( mEv .tdcV (tdcid, ihit) > -2.5 && mEv .tdcV (tdcid, ihit) < 2.5 )){
734+ mHisto1D .at (i).histo ->Fill (mEv .tdcA (tdcid, ihit));
735+ }
736+ }
737+ }
738+ }
739+ }
740+ }
741+ if (tdcid == o2::zdc::TDCZPCC || tdcid == o2::zdc::TDCZPCS ){
742+ if (mEv .NtdcA (o2::zdc::TDCZNCC) == 0 && mEv .NtdcA (o2::zdc::TDCZNCS) == 0 ){
743+ if (mEv .NtdcA (tdcid) == nhitv && nhitv > 0 ) {
744+ for (int ihit = 0 ; ihit < nhitv; ihit++) {
745+ if (mHisto1D .at (i).typech == " TDCAC" ) {
746+ if (( mEv .tdcV (tdcid, ihit) > -2.5 && mEv .tdcV (tdcid, ihit) < 2.5 )){
747+ mHisto1D .at (i).histo ->Fill (mEv .tdcA (tdcid, ihit));
748+ }
749+ }
750+ }
751+ }
752+ }
753+ }
754+ if (tdcid == o2::zdc::TDCZNAC || tdcid == o2::zdc::TDCZNAS ){
755+ if (mEv .NtdcA (o2::zdc::TDCZPAC) == 0 && mEv .NtdcA (o2::zdc::TDCZPAS) == 0 ){
756+ if (mEv .NtdcA (tdcid) == nhitv && nhitv > 0 ) {
757+ for (int ihit = 0 ; ihit < nhitv; ihit++) {
758+ if (mHisto1D .at (i).typech == " TDCAC" ) {
759+ if (( mEv .tdcV (tdcid, ihit) > -2.5 && mEv .tdcV (tdcid, ihit) < 2.5 )){
760+ mHisto1D .at (i).histo ->Fill (mEv .tdcA (tdcid, ihit));
761+ }
762+ }
763+ }
764+ }
765+ }
766+ }
767+ if (tdcid == o2::zdc::TDCZNCC || tdcid == o2::zdc::TDCZNCS ){
768+ if (mEv .NtdcA (o2::zdc::TDCZPCC) == 0 && mEv .NtdcA (o2::zdc::TDCZPCS) == 0 ){
769+ if (mEv .NtdcA (tdcid) == nhitv && nhitv > 0 ) {
770+ for (int ihit = 0 ; ihit < nhitv; ihit++) {
771+ if (mHisto1D .at (i).typech == " TDCAC" ) {
772+ if (( mEv .tdcV (tdcid, ihit) > -2.5 && mEv .tdcV (tdcid, ihit) < 2.5 )){
773+ mHisto1D .at (i).histo ->Fill (mEv .tdcA (tdcid, ihit));
774+ }
775+ }
776+ }
777+ }
778+ }
779+ }
780+ }
781+
660782 // Fill CENTROID ZP
661783 if (mHisto1D .at (i).typeh == " CENTR_ZPA" && mHisto1D .at (i).typech == " ADC" ) {
662784 mHisto1D .at (i).histo ->Fill (mEv .xZPA ());
@@ -717,12 +839,29 @@ int ZDCRecDataTask::process(const gsl::span<const o2::zdc::BCRecData>& RecBC,
717839 }
718840 }
719841 if (mHisto2D .at (i).typeh == " CENTR_ZNA" && mHisto2D .at (i).typech1 == " ADC" && mHisto2D .at (i).typech2 == " ADC" ) {
720- mEv .centroidZNA (x, y);
721- mHisto2D .at (i).histo ->Fill (x, y);
842+ if (mHisto2D .at (i).histo ->GetName () == TString::Format (" h_CENTR_ZNA" )) {
843+ mEv .centroidZNA (x, y);
844+ mHisto2D .at (i).histo ->Fill (x, y);
845+ }
846+ else {
847+ // if (( (float)o2::zdc::TDCZEM2 > -2.5 && (float)o2::zdc::TDCZEM2 < 2.5 ) && ( (float)o2::zdc::TDCZEM1 > -2.5 && (float)o2::zdc::TDCZEM1 < 2.5 ) ){
848+ if (( (float )mEv .tdcV (5 , 0 ) > -2.5 && (float )mEv .tdcV (5 , 0 ) < 2.5 ) && ( (float )mEv .tdcV (4 , 0 ) > -2.5 && (float )mEv .tdcV (4 , 0 ) < 2.5 ) ){
849+ mEv .centroidZNA (x, y);
850+ mHisto2D .at (i).histo ->Fill (x, y);
851+ }
852+ }
722853 }
723854 if (mHisto2D .at (i).typeh == " CENTR_ZNC" && mHisto2D .at (i).typech1 == " ADC" && mHisto2D .at (i).typech2 == " ADC" ) {
724- mEv .centroidZNC (x, y);
725- mHisto2D .at (i).histo ->Fill (x, y);
855+ if (mHisto2D .at (i).histo ->GetName () == TString::Format (" h_CENTR_ZNC" )) {
856+ mEv .centroidZNC (x, y);
857+ mHisto2D .at (i).histo ->Fill (x, y);
858+ }
859+ else {
860+ if (( (float )mEv .tdcV (5 , 0 ) > -2.5 && (float )mEv .tdcV (5 , 0 ) < 2.5 ) && ( (float )mEv .tdcV (4 , 0 ) > -2.5 && (float )mEv .tdcV (4 , 0 ) < 2.5 ) ){
861+ mEv .centroidZNC (x, y);
862+ mHisto2D .at (i).histo ->Fill (x, y);
863+ }
864+ }
726865 }
727866 } // for histo 2D
728867 } // while
@@ -809,7 +948,7 @@ float ZDCRecDataTask::getADCRecValue(std::string typech, std::string ch)
809948 if (typech == " ADC" && ch == " ZEM2" ) {
810949 return mEv .EZEM2 ();
811950 }
812- return 0.00 ;
951+ return - 9000.0 ;
813952}
814953
815954int ZDCRecDataTask::getIdTDCch (std::string typech, std::string ch)
0 commit comments