diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/DCubeHistograms.py b/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/DCubeHistograms.py index 8712bdf35ac072a0960289377890693f8da9b439..539aa2996deedb5213ca44f039205fc6c947b6e9 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/DCubeHistograms.py +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/DCubeHistograms.py @@ -39,7 +39,7 @@ class MyHistoFiller(object): mdtGlobalP = ROOT.TH1F("mdtGlobalP","mdtGlobalP;MDT_hitGlobalPositionP",100,-3.6,3.6) mdtTube = ROOT.TH1F("mdtTube","mdtTube;MDT_Sim_tube",100,0,110) ############################################################################# - # CSCs Sim Histograms + # CSC Sim Histograms cscStationEta = ROOT.TH1F("cscStationEta","cscStationEta;CSC_stationEta",4,-3,1) cscStationPhi = ROOT.TH1F("cscStationPhi","cscStationPhi;CSC_stationPhi",9,0,9) cscGlobalX = ROOT.TH1F("cscGlobalX","cscGlobalX;CSC_hitGlobalPositionX",100,-1400,2200) @@ -54,15 +54,51 @@ class MyHistoFiller(object): CSCDigitWireLayer = ROOT.TH1F("CSCDigitWireLayer","CSCDigitWireLayer;Digits_CSC_wireLayer",5,0,5) CSCDigitGasGap = ROOT.TH1F("CSCDigitGasGap","CSCDigitGasGap;Digits_CSC_gas_gap",4,0,4) CSCDigitChannel = ROOT.TH1F("CSCDigitChannel","CSCDigitChannel;Digits_CSC_channel",100,0,200) - CSCDigitTruthBarcode = ROOT.TH1F("CSCDigitTruthBarcode","CSCDigitTruthBarcode;Digits_CSC_truth_barcode",100,0,210000) - CSCDigitTruthlocalPosX = ROOT.TH1F("CSCDigitTruthlocalPosX","CSCDigitTruthlocalPosX;Digits_CSC_truth_localPosX",100,-110000,10000) - CSCDigitTruthlocalPosY = ROOT.TH1F("CSCDigitTruthlocalPosY","CSCDigitTruthlocalPosY;Digits_CSC_truth_localPosY",100,-110000,10000) - CSCDigitTruthglobalPosX = ROOT.TH1F("CSCDigitTruthglobalPosX","CSCDigitTruthglobalPosX;Digits_CSC_truth_globalPosX",100,-170000,170000) - CSCDigitTruthglobalPosY = ROOT.TH1F("CSCDigitTruthglobalPosY","CSCDigitTruthglobalPosY;Digits_CSC_truth_globalPosY",100,-170000,170000) - CSCDigitTruthglobalPosZ = ROOT.TH1F("CSCDigitTruthglobalPosZ","CSCDigitTruthglobalPosZ;Digits_CSC_truth_globalPosZ",100,-30000,-6500) - CSCDigitTruthCharge = ROOT.TH1F("CSCDigitTruthCharge","CSCDigitTruthCharge;Digits_CSC_truth_charge",100,0,2200) + CSCDigitlocalPosX = ROOT.TH1F("CSCDigitlocalPosX","CSCDigitlocalPosX;Digits_CSC_localPosX",100,0,100) + CSCDigitlocalPosY = ROOT.TH1F("CSCDigitlocalPosY","CSCDigitlocalPosY;Digits_CSC_localPosY",100,0,100) + CSCDigitglobalPosX = ROOT.TH1F("CSCDigitglobalPosX","CSCDigitglobalPosX;Digits_CSC_globalPosX",100,-1600,1600) + CSCDigitglobalPosY = ROOT.TH1F("CSCDigitglobalPosY","CSCDigitglobalPosY;Digits_CSC_globalPosY",100,-1600,1600) + CSCDigitglobalPosZ = ROOT.TH1F("CSCDigitglobalPosZ","CSCDigitglobalPosZ;Digits_CSC_globalPosZ",100,-8000,-7000) + # CSC SDO Histograms + CSCSDOStationEta = ROOT.TH1F("CSCSDOStationEta","CSCSDOStationEta;SDO_CSC_stationEta",4,-3,1) + CSCSDOStationPhi = ROOT.TH1F("CSCSDOStationPhi","CSCSDOStationPhi;SDO_CSC_stationPhi",9,0,9) + CSCSDOChamberLayer = ROOT.TH1F("CSCSDOChamberLayer","CSCSDOChamberLayer;SDO_CSC_chamberLayer",4,0,4) + CSCSDOWireLayer = ROOT.TH1F("CSCSDOWireLayer","CSCSDOWireLayer;SDO_CSC_wireLayer",5,0,5) + CSCSDOStrip = ROOT.TH1F("CSCSDOStrip","CSCSDOStrip;SDO_CSC_strip",100,0,200) + CSCSDOBarcode = ROOT.TH1F("CSCSDOBarcode","CSCSDOBarcode;SDO_CSC_barcode",100,0,250000) + CSCSDOGlobalX = ROOT.TH1F("CSCSDOGlobalX","CSCSDOGlobalX;SDO_CSC_globalPosX",100,-2000,2000) + CSCSDOGlobalY = ROOT.TH1F("CSCSDOGlobalY","CSCSDOGlobalY;SDO_CSC_globalPosY",100,-2000,2000) + CSCSDOGlobalZ = ROOT.TH1F("CSCSDOGlobalZ","CSCSDOGlobalZ;SDO_CSC_globalPosZ",100,-8000,8000) + CSCSDOLocalX = ROOT.TH1F("CSCSDOLocalX","CSCSDOLocalX;SDO_CSC_localPosX",100,-1000,1000) + CSCSDOLocalY = ROOT.TH1F("CSCSDOLocalY","CSCSDOLocalY;SDO_CSC_localPosY",100,-1000,1000) + # CSC RDO Histograms + CSCRDOStationEta = ROOT.TH1F("CSCRDOStationEta","CSCRDOStationEta;RDO_CSC_stationEta",4,-3,1) + CSCRDOStationPhi = ROOT.TH1F("CSCRDOStationPhi","CSCRDOStationPhi;RDO_CSC_stationPhi",9,0,9) + CSCRDOChamberLayer = ROOT.TH1F("CSCRDOChamberLayer","CSCRDOChamberLayer;RDO_CSC_chamberLayer",4,0,4) + CSCRDOWireLayer = ROOT.TH1F("CSCRDOWireLayer","CSCRDOWireLayer;RDO_CSC_wireLayer",5,0,5) + CSCRDOStrip = ROOT.TH1F("CSCRDOStrip","CSCRDOStrip;RDO_CSC_strip",100,0,200) + CSCRDOmeasurePhi = ROOT.TH1F("CSCRDOmeasurePhi","CSCRDOmeasurePhi;RDO_CSC_measurePhi",2,0,2) + CSCRDOTime = ROOT.TH1F("CSCRDOTime","CSCRDOTime;RDO_CSC_time",4,-2,2) + CSCRDOGlobalX = ROOT.TH1F("CSCRDOGlobalX","CSCRDOGlobalX;RDO_CSC_globalPosX",100,-2500,2500) + CSCRDOGlobalY = ROOT.TH1F("CSCRDOGlobalY","CSCRDOGlobalY;RDO_CSC_globalPosY",100,-2500,2500) + CSCRDOGlobalZ = ROOT.TH1F("CSCRDOGlobalZ","CSCRDOGlobalZ;RDO_CSC_globalPosZ",100,-8000,8000) + CSCRDOLocalX = ROOT.TH1F("CSCRDOLocalX","CSCRDOLocalX;RDO_CSC_localPosX",100,-1000,1000) + CSCRDOLocalY = ROOT.TH1F("CSCRDOLocalY","CSCRDOLocalY;RDO_CSC_localPosY",100,-1000,1000) + # CSC PRD Histograms + CSCPRDStationEta = ROOT.TH1F("CSCPRDStationEta","CSCPRDStationEta;PRD_CSC_stationEta",4,-3,1) + CSCPRDStationPhi = ROOT.TH1F("CSCPRDStationPhi","CSCPRDStationPhi;PRD_CSC_stationPhi",9,0,9) + CSCPRDChamberLayer = ROOT.TH1F("CSCPRDChamberLayer","CSCPRDChamberLayer;PRD_CSC_chamberLayer",4,0,4) + CSCPRDWireLayer = ROOT.TH1F("CSCPRDWireLayer","CSCPRDWireLayer;PRD_CSC_wireLayer",5,0,5) + CSCPRDStrip = ROOT.TH1F("CSCPRDStrip","CSCPRDStrip;PRD_CSC_strip",100,0,200) + CSCPRDmeasurePhi = ROOT.TH1F("CSCPRDmeasurePhi","CSCPRDmeasurePhi;PRD_CSC_measurePhi",2,0,2) + CSCPRDTime = ROOT.TH1F("CSCPRDTime","CSCPRDTime;PRD_CSC_time",100,-100,1000) + CSCPRDCharge = ROOT.TH1F("CSCPRDCharge","CSCPRDCharge;PRD_CSC_charge",100,0,10000000) + CSCPRDGlobalX = ROOT.TH1F("CSCPRDGlobalX","CSCPRDGlobalX;PRD_CSC_globalPosX",100,-2500,2500) + CSCPRDGlobalY = ROOT.TH1F("CSCPRDGlobalY","CSCPRDGlobalY;PRD_CSC_globalPosY",100,-2500,2500) + CSCPRDGlobalZ = ROOT.TH1F("CSCPRDGlobalZ","CSCPRDGlobalZ;PRD_CSC_globalPosZ",100,-8000,8000) + CSCPRDLocalX = ROOT.TH1F("CSCPRDLocalX","CSCPRDLocalX;PRD_CSC_localPosX",100,-1000,1000) ############################################################################# - # TGCs Sim Histograms + # TGC Sim Histograms tgcLocalX = ROOT.TH1F("tgcLocalX","tgcLocalX;TGC_hitLocalPositionX",100,-1.5,1.5) tgcLocalY = ROOT.TH1F("tgcLocalY","tgcLocalY;TGC_hitLocalPositionY",100,-800,800) tgcLocalZ = ROOT.TH1F("tgcLocalZ","tgcLocalZ;TGC_hitLocalPositionZ",100,-1200,1200) @@ -84,7 +120,41 @@ class MyHistoFiller(object): TGCDigitlocalY = ROOT.TH1F("TGCDigitlocalY","TGCDigitlocalY;Digits_TGC_localPosY",100,-12000,1000) TGCDigitglobalX = ROOT.TH1F("TGCDigitglobalX","TGCDigitglobalX;Digits_TGC_globalPosX",100,-12000,12000) TGCDigitglobalY = ROOT.TH1F("TGCDigitglobalY","TGCDigitglobalY;Digits_TGC_globalPosY",100,-12000,12000) - TGCDigitglobalZ = ROOT.TH1F("TGCDigitglobalZ","TGCDigitglobalZ;Digits_TGC_globalPosZ",100,18000,18000) + TGCDigitglobalZ = ROOT.TH1F("TGCDigitglobalZ","TGCDigitglobalZ;Digits_TGC_globalPosZ",100,-18000,18000) + # TGC SDO Histograms + TGCSDOStationEta = ROOT.TH1F("TGCSDOStationEta","TGCSDOStationEta;SDO_TGC_stationEta",12,-6,6) + TGCSDOStationPhi = ROOT.TH1F("TGCSDOStationPhi","TGCSDOStationPhi;SDO_TGC_stationPhi",50,0,50) + TGCSDOGasgap = ROOT.TH1F("TGCSDOGasgap","TGCSDOGasgap;SDO_TGC_gas_gap",4,0,4) + TGCSDOChannel = ROOT.TH1F("TGCSDOChannel","TGCSDOChannel;SDO_TGC_channel",100,0,140) + TGCSDOisStrip = ROOT.TH1F("TGCSDOisStrip","TGCSDOisStrip;SDO_TGC_isStrip",2,0,2) + TGCSDOWord = ROOT.TH1F("TGCSDOWord","TGCSDOWord;SDO_TGC_word",4,-2,2) + TGCSDOBarcode = ROOT.TH1F("TGCSDOBarcode","TGCSDOBarcode;SDO_TGC_barcode",100,0,10500) + TGCSDOGlobalX = ROOT.TH1F("TGCSDOGlobalX","TGCSDOGlobalX;SDO_TGC_globalPosX",100,-15000,15000) + TGCSDOGlobalY = ROOT.TH1F("TGCSDOGlobalY","TGCSDOGlobalY;SDO_TGC_globalPosY",100,-15000,15000) + TGCSDOGlobalZ = ROOT.TH1F("TGCSDOGlobalZ","TGCSDOGlobalZ;SDO_TGC_globalPosZ",100,-20000,20000) + TGCSDOLocalX = ROOT.TH1F("TGCSDOLocalX","TGCSDOLocalX;SDO_TGC_localPosX",100,0,100) + TGCSDOLocalY = ROOT.TH1F("TGCSDOLocalY","TGCSDOLocalY;SDO_TGC_localPosY",100,0,100) + TGCSDOGlotime = ROOT.TH1F("TGCSDOGlotime","TGCSDOGlotime;SDO_TGC_global_time",100,0,100) + # TGC RDO Histograms + TGCRDOStationEta = ROOT.TH1F("TGCRDOStationEta","TGCRDOStationEta;RDO_TGC_stationEta",12,-6,6) + TGCRDOStationPhi = ROOT.TH1F("TGCRDOStationPhi","TGCRDOStationPhi;RDO_TGC_stationPhi",50,0,50) + TGCRDOGasgap = ROOT.TH1F("TGCRDOGasgap","TGCRDOGasgap;RDO_TGC_gas_gap",3,0,3) + TGCRDOChannel = ROOT.TH1F("TGCRDOChannel","TGCRDOChannel;RDO_TGC_channel",3,0,3) + TGCRDOisStrip = ROOT.TH1F("TGCRDOisStrip","TGCRDOisStrip;RDO_TGC_isStrip",4,-2,2) + TGCRDOGlobalX = ROOT.TH1F("TGCRDOGlobalX","TGCRDOGlobalX;RDO_TGC_globalPosX",100,-10000,10000) + TGCRDOGlobalY = ROOT.TH1F("TGCRDOGlobalY","TGCRDOGlobalY;RDO_TGC_globalPosY",100,-10000,10000) + TGCRDOGlobalZ = ROOT.TH1F("TGCRDOGlobalZ","TGCRDOGlobalZ;RDO_TGC_globalPosZ",100,-16000,16000) + TGCRDOLocalX = ROOT.TH1F("TGCRDOLocalX","TGCRDOLocalX;RDO_TGC_localPosX",100,-1200,-400) + # TGC PRD Histograms + TGCPRDStationEta = ROOT.TH1F("TGCPRDStationEta","TGCPRDStationEta;PRD_TGC_stationEta",12,-6,6) + TGCPRDStationPhi = ROOT.TH1F("TGCPRDStationPhi","TGCPRDStationPhi;PRD_TGC_stationPhi",50,0,50) + TGCPRDGasgap = ROOT.TH1F("TGCPRDGasgap","TGCPRDGasgap;PRD_TGC_gas_gap",4,0,4) + TGCPRDChannel = ROOT.TH1F("TGCPRDChannel","TGCPRDChannel;PRD_TGC_channel",100,0,150) + TGCPRDisStrip = ROOT.TH1F("TGCPRDisStrip","TGCPRDisStrip;PRD_TGC_isStrip",2,0,2) + TGCPRDGlobalX = ROOT.TH1F("TGCPRDGlobalX","TGCPRDGlobalX;PRD_TGC_globalPosX",100,-15000,15000) + TGCPRDGlobalY = ROOT.TH1F("TGCPRDGlobalY","TGCPRDGlobalY;PRD_TGC_globalPosY",100,-15000,15000) + TGCPRDGlobalZ = ROOT.TH1F("TGCPRDGlobalZ","TGCPRDGlobalZ;PRD_TGC_globalPosZ",100,-18000,18000) + TGCPRDLocalX = ROOT.TH1F("TGCPRDLocalX","TGCPRDLocalX;PRD_TGC_localPosX",100,-1500,1500) ############################################################################# # MMs mmGlobalX = ROOT.TH1F("mmGlobalX","mmGlobalX;MM_hitGlobalPositionX",100,-5000,3000) @@ -175,13 +245,61 @@ class MyHistoFiller(object): MyHistoFiller.CSCDigitWireLayer.Fill(TTree.Digits_CSC_wireLayer[n]) MyHistoFiller.CSCDigitGasGap.Fill(TTree.Digits_CSC_gas_gap[n]) MyHistoFiller.CSCDigitChannel.Fill(TTree.Digits_CSC_channel[n]) - MyHistoFiller.CSCDigitTruthBarcode.Fill(TTree.Digits_CSC_truth_barcode[n]) - MyHistoFiller.CSCDigitTruthlocalPosX.Fill(TTree.Digits_CSC_truth_localPosX[n]) - MyHistoFiller.CSCDigitTruthlocalPosY.Fill(TTree.Digits_CSC_truth_localPosY[n]) - MyHistoFiller.CSCDigitTruthglobalPosX.Fill(TTree.Digits_CSC_truth_globalPosX[n]) - MyHistoFiller.CSCDigitTruthglobalPosY.Fill(TTree.Digits_CSC_truth_globalPosY[n]) - MyHistoFiller.CSCDigitTruthglobalPosZ.Fill(TTree.Digits_CSC_truth_globalPosZ[n]) - MyHistoFiller.CSCDigitTruthCharge.Fill(TTree.Digits_CSC_truth_charge[n]) + MyHistoFiller.CSCDigitlocalPosX.Fill(TTree.Digits_CSC_localPosX[n]) + MyHistoFiller.CSCDigitlocalPosY.Fill(TTree.Digits_CSC_localPosY[n]) + MyHistoFiller.CSCDigitglobalPosX.Fill(TTree.Digits_CSC_globalPosX[n]) + MyHistoFiller.CSCDigitglobalPosY.Fill(TTree.Digits_CSC_globalPosY[n]) + MyHistoFiller.CSCDigitglobalPosZ.Fill(TTree.Digits_CSC_globalPosZ[n]) + + if self.__chamber_name == "CSC_SDO": + if not (self.__eta_sel(TTree) and self.__sector_sel(TTree)): + return + else: + MyHistoFiller.CSCSDOStationEta.Fill(TTree.SDO_CSC_stationEta[n]) + MyHistoFiller.CSCSDOStationPhi.Fill(TTree.SDO_CSC_stationPhi[n]) + MyHistoFiller.CSCSDOChamberLayer.Fill(TTree.SDO_CSC_chamberLayer[n]) + MyHistoFiller.CSCSDOWireLayer.Fill(TTree.SDO_CSC_wireLayer[n]) + MyHistoFiller.CSCSDOStrip.Fill(TTree.SDO_CSC_strip[n]) + MyHistoFiller.CSCSDOBarcode.Fill(TTree.SDO_CSC_barcode[n]) + MyHistoFiller.CSCSDOGlobalX.Fill(TTree.SDO_CSC_globalPosX[n]) + MyHistoFiller.CSCSDOGlobalY.Fill(TTree.SDO_CSC_globalPosY[n]) + MyHistoFiller.CSCSDOGlobalZ.Fill(TTree.SDO_CSC_globalPosZ[n]) + MyHistoFiller.CSCSDOLocalX.Fill(TTree.SDO_CSC_localPosX[n]) + MyHistoFiller.CSCSDOLocalY.Fill(TTree.SDO_CSC_localPosY[n]) + + if self.__chamber_name == "CSC_RDO": + if not (self.__eta_sel(TTree) and self.__sector_sel(TTree)): + return + else: + MyHistoFiller.CSCRDOStationEta.Fill(TTree.RDO_CSC_StationEta[n]) + MyHistoFiller.CSCRDOStationPhi.Fill(TTree.RDO_CSC_StationPhi[n]) + MyHistoFiller.CSCRDOChamberLayer.Fill(TTree.RDO_CSC_chamberLayer[n]) + MyHistoFiller.CSCRDOWireLayer.Fill(TTree.RDO_CSC_wireLayer[n]) + MyHistoFiller.CSCRDOStrip.Fill(TTree.RDO_CSC_strip[n]) + MyHistoFiller.CSCRDOmeasurePhi.Fill(TTree.RDO_CSC_measurePhi[n]) + MyHistoFiller.CSCRDOTime.Fill(TTree.RDO_CSC_time[n]) + MyHistoFiller.CSCRDOGlobalX.Fill(TTree.RDO_CSC_globalPosX[n]) + MyHistoFiller.CSCRDOGlobalY.Fill(TTree.RDO_CSC_globalPosY[n]) + MyHistoFiller.CSCRDOGlobalZ.Fill(TTree.RDO_CSC_globalPosZ[n]) + MyHistoFiller.CSCRDOLocalX.Fill(TTree.RDO_CSC_localPosX[n]) + MyHistoFiller.CSCRDOLocalY.Fill(TTree.RDO_CSC_localPosY[n]) + + if self.__chamber_name == "CSC_PRD": + if not (self.__eta_sel(TTree) and self.__sector_sel(TTree)): + return + else: + MyHistoFiller.CSCPRDStationEta.Fill(TTree.PRD_CSC_stationEta[n]) + MyHistoFiller.CSCPRDStationPhi.Fill(TTree.PRD_CSC_stationPhi[n]) + MyHistoFiller.CSCPRDChamberLayer.Fill(TTree.PRD_CSC_chlayer[n]) + MyHistoFiller.CSCPRDWireLayer.Fill(TTree.PRD_CSC_wlayer[n]) + MyHistoFiller.CSCPRDStrip.Fill(TTree.PRD_CSC_strip[n]) + MyHistoFiller.CSCPRDmeasurePhi.Fill(TTree.PRD_CSC_measuresPhi[n]) + MyHistoFiller.CSCPRDTime.Fill(TTree.PRD_CSC_time[n]) + MyHistoFiller.CSCPRDCharge.Fill(TTree.PRD_CSC_charge[n]) + MyHistoFiller.CSCPRDGlobalX.Fill(TTree.PRD_CSC_globalPosX[n]) + MyHistoFiller.CSCPRDGlobalY.Fill(TTree.PRD_CSC_globalPosY[n]) + MyHistoFiller.CSCPRDGlobalZ.Fill(TTree.PRD_CSC_globalPosZ[n]) + MyHistoFiller.CSCPRDLocalX.Fill(TTree.PRD_CSC_localPosX[n]) if self.__chamber_name == "TGC_Sim": if not (self.__eta_sel(TTree) and self.__sector_sel(TTree)): @@ -213,6 +331,52 @@ class MyHistoFiller(object): MyHistoFiller.TGCDigitglobalX.Fill(TTree.Digits_TGC_globalPosX[n]) MyHistoFiller.TGCDigitglobalY.Fill(TTree.Digits_TGC_globalPosY[n]) MyHistoFiller.TGCDigitglobalZ.Fill(TTree.Digits_TGC_globalPosZ[n]) + + if self.__chamber_name == "TGC_SDO": + if not (self.__eta_sel(TTree) and self.__sector_sel(TTree)): + return + else: + MyHistoFiller.TGCSDOStationEta.Fill(TTree.SDO_TGC_stationEta[n]) + MyHistoFiller.TGCSDOStationPhi.Fill(TTree.SDO_TGC_stationPhi[n]) + MyHistoFiller.TGCSDOGasgap.Fill(TTree.SDO_TGC_gas_gap[n]) + MyHistoFiller.TGCSDOChannel.Fill(TTree.SDO_TGC_channel[n]) + MyHistoFiller.TGCSDOisStrip.Fill(TTree.SDO_TGC_isStrip[n]) + MyHistoFiller.TGCSDOWord.Fill(TTree.SDO_TGC_word[n]) + MyHistoFiller.TGCSDOBarcode.Fill(TTree.SDO_TGC_barcode[n]) + MyHistoFiller.TGCSDOGlobalX.Fill(TTree.SDO_TGC_globalPosX[n]) + MyHistoFiller.TGCSDOGlobalY.Fill(TTree.SDO_TGC_globalPosY[n]) + MyHistoFiller.TGCSDOGlobalZ.Fill(TTree.SDO_TGC_globalPosZ[n]) + MyHistoFiller.TGCSDOLocalX.Fill(TTree.SDO_TGC_localPosX[n]) + MyHistoFiller.TGCSDOLocalY.Fill(TTree.SDO_TGC_localPosY[n]) + MyHistoFiller.TGCSDOGlotime.Fill(TTree.SDO_TGC_global_time[n]) + + if self.__chamber_name == "TGC_RDO": + if not (self.__eta_sel(TTree) and self.__sector_sel(TTree)): + return + else: + MyHistoFiller.TGCRDOStationEta.Fill(TTree.RDO_TGC_stationEta[n]) + MyHistoFiller.TGCRDOStationPhi.Fill(TTree.RDO_TGC_stationPhi[n]) + MyHistoFiller.TGCRDOGasgap.Fill(TTree.RDO_TGC_gas_gap[n]) + MyHistoFiller.TGCRDOChannel.Fill(TTree.RDO_TGC_channel[n]) + MyHistoFiller.TGCRDOisStrip.Fill(TTree.RDO_TGC_isStrip[n]) + MyHistoFiller.TGCRDOGlobalX.Fill(TTree.RDO_TGC_globalPosX[n]) + MyHistoFiller.TGCRDOGlobalY.Fill(TTree.RDO_TGC_globalPosY[n]) + MyHistoFiller.TGCRDOGlobalZ.Fill(TTree.RDO_TGC_globalPosZ[n]) + MyHistoFiller.TGCRDOLocalX.Fill(TTree.RDO_TGC_localPosX[n]) + + if self.__chamber_name == "TGC_PRD": + if not (self.__eta_sel(TTree) and self.__sector_sel(TTree)): + return + else: + MyHistoFiller.TGCPRDStationEta.Fill(TTree.PRD_TGC_stationEta[n]) + MyHistoFiller.TGCPRDStationPhi.Fill(TTree.PRD_TGC_stationPhi[n]) + MyHistoFiller.TGCPRDGasgap.Fill(TTree.PRD_TGC_gasGap[n]) + MyHistoFiller.TGCPRDChannel.Fill(TTree.PRD_TGC_channel[n]) + MyHistoFiller.TGCPRDisStrip.Fill(TTree.PRD_TGC_isStrip[n]) + MyHistoFiller.TGCPRDGlobalX.Fill(TTree.PRD_TGC_globalPosX[n]) + MyHistoFiller.TGCPRDGlobalY.Fill(TTree.PRD_TGC_globalPosY[n]) + MyHistoFiller.TGCPRDGlobalZ.Fill(TTree.PRD_TGC_globalPosZ[n]) + MyHistoFiller.TGCPRDLocalX.Fill(TTree.PRD_TGC_localPosX[n]) if self.__chamber_name == "MM": if not (self.__eta_sel(TTree) and self.__sector_sel(TTree)): @@ -273,6 +437,7 @@ class MyHistoFiller(object): outdir.WriteTObject(MyHistoFiller.mdtGlobalP, MyHistoFiller.mdtGlobalP.GetName()) outdir.WriteTObject(MyHistoFiller.mdtTube, MyHistoFiller.mdtTube.GetName()) + if self.__chamber_name == "CSC_Sim": outdir.WriteTObject(MyHistoFiller.cscStationEta, MyHistoFiller.cscStationEta.GetName()) outdir.WriteTObject(MyHistoFiller.cscStationPhi, MyHistoFiller.cscStationPhi.GetName()) @@ -289,13 +454,53 @@ class MyHistoFiller(object): outdir.WriteTObject(MyHistoFiller.CSCDigitWireLayer, MyHistoFiller.CSCDigitWireLayer.GetName()) outdir.WriteTObject(MyHistoFiller.CSCDigitGasGap, MyHistoFiller.CSCDigitGasGap.GetName()) outdir.WriteTObject(MyHistoFiller.CSCDigitChannel, MyHistoFiller.CSCDigitChannel.GetName()) - outdir.WriteTObject(MyHistoFiller.CSCDigitTruthBarcode, MyHistoFiller.CSCDigitTruthBarcode.GetName()) - outdir.WriteTObject(MyHistoFiller.CSCDigitTruthlocalPosX, MyHistoFiller.CSCDigitTruthlocalPosX.GetName()) - outdir.WriteTObject(MyHistoFiller.CSCDigitTruthlocalPosY, MyHistoFiller.CSCDigitTruthlocalPosY.GetName()) - outdir.WriteTObject(MyHistoFiller.CSCDigitTruthglobalPosX, MyHistoFiller.CSCDigitTruthglobalPosX.GetName()) - outdir.WriteTObject(MyHistoFiller.CSCDigitTruthglobalPosY, MyHistoFiller.CSCDigitTruthglobalPosY.GetName()) - outdir.WriteTObject(MyHistoFiller.CSCDigitTruthglobalPosZ, MyHistoFiller.CSCDigitTruthglobalPosZ.GetName()) - outdir.WriteTObject(MyHistoFiller.CSCDigitTruthCharge, MyHistoFiller.CSCDigitTruthCharge.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCDigitlocalPosX, MyHistoFiller.CSCDigitlocalPosX.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCDigitlocalPosY, MyHistoFiller.CSCDigitlocalPosY.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCDigitglobalPosX, MyHistoFiller.CSCDigitglobalPosX.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCDigitglobalPosY, MyHistoFiller.CSCDigitglobalPosY.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCDigitglobalPosZ, MyHistoFiller.CSCDigitglobalPosZ.GetName()) + + if self.__chamber_name == "CSC_SDO": + outdir.WriteTObject(MyHistoFiller.CSCSDOStationEta, MyHistoFiller.CSCSDOStationEta.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOStationPhi, MyHistoFiller.CSCSDOStationPhi.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOChamberLayer, MyHistoFiller.CSCSDOChamberLayer.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOWireLayer, MyHistoFiller.CSCSDOWireLayer.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOStrip, MyHistoFiller.CSCSDOStrip.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOBarcode, MyHistoFiller.CSCSDOBarcode.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOGlobalX, MyHistoFiller.CSCSDOGlobalX.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOGlobalY, MyHistoFiller.CSCSDOGlobalY.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOGlobalZ, MyHistoFiller.CSCSDOGlobalZ.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOLocalX, MyHistoFiller.CSCSDOLocalX.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCSDOLocalY, MyHistoFiller.CSCSDOLocalY.GetName()) + + if self.__chamber_name == "CSC_RDO": + outdir.WriteTObject(MyHistoFiller.CSCRDOStationEta, MyHistoFiller.CSCRDOStationEta.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOStationPhi, MyHistoFiller.CSCRDOStationPhi.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOChamberLayer, MyHistoFiller.CSCRDOChamberLayer.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOWireLayer, MyHistoFiller.CSCRDOWireLayer.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOStrip, MyHistoFiller.CSCRDOStrip.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOmeasurePhi, MyHistoFiller.CSCRDOmeasurePhi.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOTime, MyHistoFiller.CSCRDOTime.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOGlobalX, MyHistoFiller.CSCRDOGlobalX.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOGlobalY, MyHistoFiller.CSCRDOGlobalY.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOGlobalZ, MyHistoFiller.CSCRDOGlobalZ.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOLocalX, MyHistoFiller.CSCRDOLocalX.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCRDOLocalY, MyHistoFiller.CSCRDOLocalY.GetName()) + + if self.__chamber_name == "CSC_PRD": + outdir.WriteTObject(MyHistoFiller.CSCPRDStationEta, MyHistoFiller.CSCPRDStationEta.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDStationPhi, MyHistoFiller.CSCPRDStationPhi.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDChamberLayer, MyHistoFiller.CSCPRDChamberLayer.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDWireLayer, MyHistoFiller.CSCPRDWireLayer.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDStrip, MyHistoFiller.CSCPRDStrip.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDmeasurePhi, MyHistoFiller.CSCPRDmeasurePhi.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDTime, MyHistoFiller.CSCPRDTime.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDCharge, MyHistoFiller.CSCPRDCharge.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDGlobalX, MyHistoFiller.CSCPRDGlobalX.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDGlobalY, MyHistoFiller.CSCPRDGlobalY.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDGlobalZ, MyHistoFiller.CSCPRDGlobalZ.GetName()) + outdir.WriteTObject(MyHistoFiller.CSCPRDLocalX, MyHistoFiller.CSCPRDLocalX.GetName()) + if self.__chamber_name == "TGC_Sim": outdir.WriteTObject(MyHistoFiller.tgcLocalX, MyHistoFiller.tgcLocalX.GetName()) @@ -321,7 +526,44 @@ class MyHistoFiller(object): outdir.WriteTObject(MyHistoFiller.TGCDigitglobalX, MyHistoFiller.TGCDigitglobalX.GetName()) outdir.WriteTObject(MyHistoFiller.TGCDigitglobalY, MyHistoFiller.TGCDigitglobalY.GetName()) outdir.WriteTObject(MyHistoFiller.TGCDigitglobalZ, MyHistoFiller.TGCDigitglobalZ.GetName()) - + + if self.__chamber_name == "TGC_SDO": + outdir.WriteTObject(MyHistoFiller.TGCSDOStationEta, MyHistoFiller.TGCSDOStationEta.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOStationPhi, MyHistoFiller.TGCSDOStationPhi.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOGasgap, MyHistoFiller.TGCSDOGasgap.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOChannel, MyHistoFiller.TGCSDOChannel.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOisStrip, MyHistoFiller.TGCSDOisStrip.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOWord, MyHistoFiller.TGCSDOWord.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOBarcode, MyHistoFiller.TGCSDOBarcode.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOGlobalX, MyHistoFiller.TGCSDOGlobalX.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOGlobalY, MyHistoFiller.TGCSDOGlobalY.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOGlobalZ, MyHistoFiller.TGCSDOGlobalZ.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOLocalX, MyHistoFiller.TGCSDOLocalX.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOLocalY, MyHistoFiller.TGCSDOLocalY.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCSDOGlotime, MyHistoFiller.TGCSDOGlotime.GetName()) + + if self.__chamber_name == "TGC_RDO": + outdir.WriteTObject(MyHistoFiller.TGCRDOStationEta, MyHistoFiller.TGCRDOStationEta.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCRDOStationPhi, MyHistoFiller.TGCRDOStationPhi.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCRDOGasgap, MyHistoFiller.TGCRDOGasgap.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCRDOChannel, MyHistoFiller.TGCRDOChannel.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCRDOisStrip, MyHistoFiller.TGCRDOisStrip.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCRDOGlobalX, MyHistoFiller.TGCRDOGlobalX.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCRDOGlobalY, MyHistoFiller.TGCRDOGlobalY.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCRDOGlobalZ, MyHistoFiller.TGCRDOGlobalZ.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCRDOLocalX, MyHistoFiller.TGCRDOLocalX.GetName()) + + if self.__chamber_name == "TGC_PRD": + outdir.WriteTObject(MyHistoFiller.TGCPRDStationEta, MyHistoFiller.TGCPRDStationEta.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCPRDStationPhi, MyHistoFiller.TGCPRDStationPhi.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCPRDGasgap, MyHistoFiller.TGCPRDGasgap.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCPRDChannel, MyHistoFiller.TGCPRDChannel.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCPRDisStrip, MyHistoFiller.TGCPRDisStrip.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCPRDGlobalX, MyHistoFiller.TGCPRDGlobalX.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCPRDGlobalY, MyHistoFiller.TGCPRDGlobalY.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCPRDGlobalZ, MyHistoFiller.TGCPRDGlobalZ.GetName()) + outdir.WriteTObject(MyHistoFiller.TGCPRDLocalX, MyHistoFiller.TGCPRDLocalX.GetName()) + if self.__chamber_name == "MM": outdir.WriteTObject(MyHistoFiller.mmGlobalX, MyHistoFiller.mmGlobalX.GetName()) diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/createDCubeDigitHistograms_withSel.py b/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/createDCubeDigitHistograms_withSel.py index a35db0ab119bf670e76cd21737930fc63e266640..ddd48a2c944f257458d632c363dcd93252edf82c 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/createDCubeDigitHistograms_withSel.py +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/createDCubeDigitHistograms_withSel.py @@ -7,7 +7,7 @@ import math from DCubeHistograms import MyHistoFiller if __name__ == "__main__": - parser = argparse.ArgumentParser(prog='createDCubeSimHistograms', formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser = argparse.ArgumentParser(prog='createDCubeDigitHistograms', formatter_class=argparse.ArgumentDefaultsHelpFormatter) parser.add_argument('-i', '--inputFile', help='choose input ROOT file', default='NSWPRDValAlg.digi.ntuple.root', type=str) parser.add_argument('-o', '--outputFile', help='choose output ROOT file', default='NSWPRDValAlg.digi.dcube.root', type=str) parser.add_argument('--doCSC', help='turn off CSC if using Run4 input ROOT file', default=False, action='store_true') @@ -63,8 +63,13 @@ if __name__ == "__main__": #Filling for i in range(inputTree.GetEntries()): inputTree.GetEntry(i) - cschists = [] - tgchists = [] + cscDigitHists = [] + cscSDOHists = [] + cscRDOHists = [] + tgcDigitHists = [] + tgcSDOHists = [] + tgcRDOHists = [] + # CSCs if Options.doCSC == True: @@ -80,9 +85,19 @@ if __name__ == "__main__": else: csc_sector_sel = lambda s: s.Digits_CSC_stationPhi[ncscDigit] == CSC_sector - for ncscDigit in range(0,len(inputTree.Digits_CSC_truth_localPosX)): - cschists += [MyHistoFiller( chamber_name = "CSC_Digit", eta_sel = csc_eta_sel, sector_sel = csc_sector_sel )] - cschists[ncscDigit].fill(inputTree, ncscDigit) + for ncscDigit in range(0,len(inputTree.Digits_CSC_localPosX)): + cscDigitHists += [MyHistoFiller( chamber_name = "CSC_Digit", eta_sel = csc_eta_sel, sector_sel = csc_sector_sel )] + cscDigitHists[ncscDigit].fill(inputTree, ncscDigit) + + for ncscSDO in range(0,len(inputTree.SDO_CSC_localPosX)): + cscSDOHists += [MyHistoFiller( chamber_name = "CSC_SDO", eta_sel = csc_eta_sel, sector_sel = csc_sector_sel )] + cscSDOHists[ncscSDO].fill(inputTree, ncscSDO) + + for ncscRDO in range(0,len(inputTree.RDO_CSC_localPosX)): + cscRDOHists += [MyHistoFiller( chamber_name = "CSC_RDO", eta_sel = csc_eta_sel, sector_sel = csc_sector_sel )] + cscRDOHists[ncscRDO].fill(inputTree, ncscRDO) + + # TGCs if TGC_eta == "positive": @@ -98,14 +113,34 @@ if __name__ == "__main__": tgc_sector_sel = lambda s: s.Digits_TGC_stationPhi[ntgcDigit] == TGC_sector for ntgcDigit in range(0,len(inputTree.Digits_TGC_localPosX)): - tgchists += [MyHistoFiller( chamber_name = "TGC_Digit", eta_sel = tgc_eta_sel, sector_sel = tgc_sector_sel )] - tgchists[ntgcDigit].fill(inputTree, ntgcDigit) + tgcDigitHists += [MyHistoFiller( chamber_name = "TGC_Digit", eta_sel = tgc_eta_sel, sector_sel = tgc_sector_sel )] + tgcDigitHists[ntgcDigit].fill(inputTree, ntgcDigit) + + for ntgcSDO in range(0,len(inputTree.SDO_TGC_localPosX)): + tgcSDOHists += [MyHistoFiller( chamber_name = "TGC_SDO", eta_sel = tgc_eta_sel, sector_sel = tgc_sector_sel )] + tgcSDOHists[ntgcSDO].fill(inputTree, ntgcSDO) + + for ntgcRDO in range(0,len(inputTree.RDO_TGC_localPosX)): + tgcRDOHists += [MyHistoFiller( chamber_name = "TGC_RDO", eta_sel = tgc_eta_sel, sector_sel = tgc_sector_sel )] + tgcRDOHists[ntgcRDO].fill(inputTree, ntgcRDO) #Writing if Options.doCSC == True: - cschist = MyHistoFiller( chamber_name = "CSC_Digit", eta_sel = None, sector_sel = None ) - cschist.write(ODir) + cscDigitHist = MyHistoFiller( chamber_name = "CSC_Digit", eta_sel = None, sector_sel = None ) + cscDigitHist.write(ODir) + + cscSDOHist = MyHistoFiller( chamber_name = "CSC_SDO", eta_sel = None, sector_sel = None ) + cscSDOHist.write(ODir) + + cscRDOHist = MyHistoFiller( chamber_name = "CSC_RDO", eta_sel = None, sector_sel = None ) + cscRDOHist.write(ODir) + + tgcDigitHist = MyHistoFiller( chamber_name = "TGC_Digit", eta_sel = None, sector_sel = None ) + tgcDigitHist.write(ODir) + + tgcSDOHist = MyHistoFiller( chamber_name = "TGC_SDO", eta_sel = None, sector_sel = None ) + tgcSDOHist.write(ODir) - tgchist = MyHistoFiller( chamber_name = "TGC_Digit", eta_sel = None, sector_sel = None ) - tgchist.write(ODir) + tgcRDOHist = MyHistoFiller( chamber_name = "TGC_RDO", eta_sel = None, sector_sel = None ) + tgcRDOHist.write(ODir) \ No newline at end of file diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/createDCubeRecoHistograms_withSel.py b/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/createDCubeRecoHistograms_withSel.py new file mode 100644 index 0000000000000000000000000000000000000000..a883dc90011de836d77a3f72139bca9725fd62af --- /dev/null +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/scripts/createDCubeRecoHistograms_withSel.py @@ -0,0 +1,114 @@ +# Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration + +# this script can be used to create DCube histograms from the output ntuples of NSWPRDValAlg + +import os, sys, ROOT, argparse +import math +from DCubeHistograms import MyHistoFiller + +if __name__ == "__main__": + parser = argparse.ArgumentParser(prog='createDCubeRecoHistograms', formatter_class=argparse.ArgumentDefaultsHelpFormatter) + parser.add_argument('-i', '--inputFile', help='choose input ROOT file', default='NSWPRDValAlg.reco.ntuple.root', type=str) + parser.add_argument('-o', '--outputFile', help='choose output ROOT file', default='NSWPRDValAlg.reco.dcube.root', type=str) + parser.add_argument('--doCSC', help='turn off CSC if using Run4 input ROOT file', default=True, action='store_true') + parser.add_argument('--CSCsel', help='Choose eta_sector selections for CSC, e.g. positive_1 for positive eta and sector 1, None_None for no selection', default='None_None', type=str) + parser.add_argument('--TGCsel', help='Choose eta_sector selections for TGC, e.g. positive_1 for positive eta and sector 1, None_None for no selection', default='None_None', type=str) + + Options = parser.parse_args() + + ROOT.gROOT.SetBatch(True) + + if not os.path.exists(Options.inputFile): + print ('ERROR: File %s does not exist'%Options.inputFile) + sys.exit(1) + + inputFile = ROOT.TFile(Options.inputFile, "READ") + if not inputFile: + print ('ERROR: Failed to open file %s'%Options.inputFile) + sys.exit(1) + inputTree = inputFile.Get("NSWValTree") + if not inputTree: + print ('ERROR: NSWValTree does not exist in file %s'%Options.inputFile) + sys.exit(1) + + nEntries = inputTree.GetEntries() + if nEntries==0: + print ('ERROR: NSWValTree of file %s has 0 entries'%Options.inputFile) + sys.exit(1) + + outputFile = ROOT.TFile(Options.outputFile, "RECREATE") + if not outputFile: + print ('ERROR: Failed to open file %s'%Options.outputFile) + sys.exit(1) + + outputFile.cd() + outputFile.mkdir("reconstruction/") + ODir = outputFile.GetDirectory("reconstruction/") + ODir.cd() + + CSCselections = Options.CSCsel.split("_") + CSC_eta = CSCselections[0] + if CSCselections[1] != "None": + CSC_sector = int (CSCselections[1]) + else: + CSC_sector = CSCselections[1] + + TGCselections = Options.TGCsel.split("_") + TGC_eta = TGCselections[0] + if TGCselections[1] != "None": + TGC_sector = int (TGCselections[1]) + else: + TGC_sector = TGCselections[1] + + #Filling + for i in range(inputTree.GetEntries()): + inputTree.GetEntry(i) + cscPRDHists = [] + tgcPRDHists = [] + + # CSCs + if Options.doCSC == True: + if CSC_eta == "positive": + csc_eta_sel = lambda t: t.PRD_CSC_stationEta[ncscPRD] >= 0 + elif CSC_eta == "negative": + csc_eta_sel = lambda t: t.PRD_CSC_stationEta[ncscPRD] < 0 + else: + csc_eta_sel = lambda t: t.PRD_CSC_stationEta[ncscPRD] < 9 + + if CSC_sector == "None": + csc_sector_sel = lambda s: s.PRD_CSC_stationPhi[ncscPRD] < 10 + else: + csc_sector_sel = lambda s: s.PRD_CSC_stationPhi[ncscPRD] == CSC_sector + + for ncscPRD in range(0,len(inputTree.PRD_CSC_localPosX)): + cscPRDHists += [MyHistoFiller( chamber_name = "CSC_PRD", eta_sel = csc_eta_sel, sector_sel = csc_sector_sel )] + cscPRDHists[ncscPRD].fill(inputTree, ncscPRD) + + + + # TGCs + if TGC_eta == "positive": + tgc_eta_sel = lambda t: t.PRD_TGC_stationEta[ntgcPRD] >= 0 + elif TGC_eta == "negative": + tgc_eta_sel = lambda t: t.PRD_TGC_stationEta[ntgcPRD] < 0 + else: + tgc_eta_sel = lambda t: t.PRD_TGC_stationEta[ntgcPRD] < 9 + + if TGC_sector == "None": + tgc_sector_sel = lambda s: s.PRD_TGC_stationPhi[ntgcPRD] < 51 + else: + tgc_sector_sel = lambda s: s.PRD_TGC_stationPhi[ntgcPRD] == TGC_sector + + for ntgcPRD in range(0,len(inputTree.PRD_TGC_localPosX)): + tgcPRDHists += [MyHistoFiller( chamber_name = "TGC_PRD", eta_sel = tgc_eta_sel, sector_sel = tgc_sector_sel )] + tgcPRDHists[ntgcPRD].fill(inputTree, ntgcPRD) + + + #Writing + if Options.doCSC == True: + cscPRDHist = MyHistoFiller( chamber_name = "CSC_PRD", eta_sel = None, sector_sel = None ) + cscPRDHist.write(ODir) + + tgcPRDHist = MyHistoFiller( chamber_name = "TGC_PRD", eta_sel = None, sector_sel = None ) + tgcPRDHist.write(ODir) + \ No newline at end of file diff --git a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.h b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.h index 0089d7461b8310cc836fb2154564023965ea833c..71e0bc6af4117dd79afd1831ae98badf115944d8 100644 --- a/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.h +++ b/MuonSpectrometer/MuonValidation/MuonPRDTest/src/NSWPRDValAlg.h @@ -146,7 +146,7 @@ class NSWPRDValAlg: public AthAlgorithm Gaudi::Property<std::string> m_TGC_SDOContainerName{this, "TGC_SDOContainerName", "TGC_SDO" }; Gaudi::Property<std::string> m_TGC_DigitContainerName{this, "TGC_DigitContainerName","TGC_DIGITS" }; Gaudi::Property<std::string> m_TGC_RDOContainerName{this,"TGC_RDOContainerName", "TGCRDO" }; - Gaudi::Property<std::string> m_TGC_PRDContainerName{this, "TGC_PRDContainerName","TGCPRD" }; + Gaudi::Property<std::string> m_TGC_PRDContainerName{this, "TGC_PRDContainerName","TGC_Measurements" }; // Matching algorithm