import ROOT def cosmic_histos(): histsdict={} hits3d = ROOT.TH3D("h3dhits","3d hits",300,-15.,15,300,-15.,15.,800,-65.,15) histsdict['hsnr'] = ROOT.TH1D("hsnr","signal to noise",200,0.,1000.) histsdict['csnr'] = ROOT.TH1D("csnr","signal to noise (cluster)",500,0.,5000.) #histsdict['hthevslen'] = ROOT.TH2D("hthevslen","theta vs length",360,0.,180.,800,0.,80.) histsdict['hmom'] = ROOT.TH1D("hmom","mom",500,0,2.) histsdict['hAllDigiSamples'] = ROOT.TH1D("hAllDigisSamples","dig amp vs time",520,0.,520.) histsdict['hcl pos z'] = ROOT.TH1D("hClpos","cl pos z",520,-65.,20.) histsdict['hcl pos z cut'] = ROOT.TH1D("hClposcut","cl pos z (cut)",520,-65.,20.) histsdict['hclsizevsradius'] = ROOT.TH2D("hclsizevsradius","radius vs clustersize",150,0.,15.,100,0.,100.) histsdict['hnumberofthetracks'] = ROOT.TH1D("hnumberoftthetracks", "number of tracks", 2,0,2) histsdict['htrklengthvsclcount'] = ROOT.TH2D("htrklengthvsclcount", "Tracklength over clustercount",40,0,40,40,0,40) histsdict['hclvsclcount'] = ROOT.TH2D("hclvsclcount", "Cluster per cm over Clustercount",40,0,40,200,0,2) histsdict['hclusterSize2DVsZ'] = ROOT.TH2D("hclusterSize2DVsZ","2D Size Vs Z",75,-63.,12.,40,0,40) histsdict['hclusterSize3DVsZ'] = ROOT.TH2D("hclusterSize3DVsZ","3D Size Vs Z",75,-63.,12.,40,0,40) histsdict['hclusterSize3DUVsZ'] = ROOT.TH2D("hclusterSize3DUVsZ","3D Unshared Size Vs Z",75,-63.,12.,40,0,40) histsdict['hdiffclustersize'] = ROOT.TH2D("hdiffclustersize", "difference ClusterSize", 90,-70,20,20,0,20) histsdict['hclusterpertrack'] = ROOT.TH1D("hclusterpertrack","cluster per track (cutted)",200,0.,200.) histsdict['hclusterpertrack no cut'] = ROOT.TH1D("hclusterpertrack2","cluster per track (no cut)",200,0.,200.) histsdict['hclusterpercm'] = ROOT.TH1D("hclusterpercm","Cluster per cm",1000,0.,10.) histsdict['hclusterpercm vs Z'] = ROOT.TH2D("hclusterpercmVsZ","Cluster per cm vs mean z",75,-63,12,100,0,10) histsdict['hclusterpercm cutted']= ROOT.TH1D("hclusterpercmcut","Cluster per cm (cutted)",1000,0.,10.) histsdict['hdistbetweencluster'] = ROOT.TH2D("hdistbetweencluster", "distance between cluster", 90, -70, 20, 50, 0, 5) histsdict['hdigipercm'] = ROOT.TH1D("hdigipercm","Digi per cm",500,0.,50.) histsdict['hdigipertrack'] = ROOT.TH1D("hdigipertrack","Digi per Track",1000,0.,1000.) histsdict['hdigipercm cutted'] = ROOT.TH1D("hdigipercmcut","Cluster per cm (cutted)",1000,0.,100.) histsdict['hdigipercm cutted vs z'] = ROOT.TH2D("hdigipercmcutZ","Cluster per cm vs mean z(cutted)",750,-63.,12.,1000,0.,100.) histsdict['hdigipercm vs z'] = ROOT.TH2D("hdigipercmZ","Digi per cm vs mean z",75,-63.,12.,500,0.,50.) histsdict['hdigpercl'] = ROOT.TH1D("hdigpercl","Digis per cluster",100,0.,100.) histsdict['hdigpercl cut'] = ROOT.TH1D("hdigperclcut","digis per cluster cutted",100,0.,100.) histsdict['hclmedian'] = ROOT.TH1D("hclmedian","median of clustersizes",50,0.,50.) histsdict['hclmedian cut'] = ROOT.TH1D("hclmediancut","median of clustersizes (cut)",50,0.,50.) histsdict['hcl medians meana'] = ROOT.TH2D("hclmedsimeanamp","median of cl size vs mean cl amp",50,0.,50.,1000,0.,20000.) histsdict['hcl size vs amp'] = ROOT.TH2D("hcsizevsamp","cluster size vs amp",50,0.,50.,1500,0.,150000.) histsdict['hresvsclsize'] = ROOT.TH2D("hresvsclsize","residual vs clustersize",200,-10000.,10000.,30,0.,30.) histsdict['hresvsz'] = ROOT.TH2D("hresvsz","residuals vs z",850,-65,20,100,-5000,5000) histsdict['hslices'] = ROOT.TH1D("hslices","slicepos",6,0.,6.) hxybinning=80 histsdict['hxy'] = ROOT.TH2D("hxy","xy",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hxy Y'] = ROOT.TH2D("hxyY","xy Y",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hxy amp'] = ROOT.TH2D("hxyamp","xy amp",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hxy amp cut'] = ROOT.TH2D("hxyamp cut","xy amp (cut)",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hxy res'] = ROOT.TH2D("hxyres","xy res",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hxy MC res'] = ROOT.TH2D("hxyMCres","xy res",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hxy resR'] = ROOT.TH2D("hxyresR","xy R-res",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hxy resY'] = ROOT.TH2D("hxyresY","xy Y-res",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hxy MC resY'] = ROOT.TH2D("hxyMCresY","xy MC Y-res",hxybinning,-16.,16.,hxybinning,-16.,16.) histsdict['hyz'] = ROOT.TH2D("hyz","yz",187,-65.,20.,hxybinning,-16.,16.) histsdict['hyz res'] = ROOT.TH2D("hyzres","yz res",187,-65.,20.,hxybinning,-16.,16.) histsdict['hyz MC res'] = ROOT.TH2D("hyzMCres","yz MC res",187,-65.,20.,hxybinning,-16.,16.) histsdict['hxz'] = ROOT.TH2D("hxz","xz",187,-65.,20.,hxybinning,-16.,16.) histsdict['hxz resY'] = ROOT.TH2D("hxzres","xz res",187,-65.,20.,hxybinning,-16.,16.) histsdict['hxy last'] = ROOT.TH2D("hxylast","xy last",200,-16.,16.,200,-16.,16.) histsdict['hxy first'] = ROOT.TH2D("hxyfirst","xy first",200,-16.,16.,200,-16.,16.) histsdict['hxyc'] = ROOT.TH2D("hxyc","xy curvcut",200,-16.,16.,200,-16.,16.) histsdict['hyzc'] = ROOT.TH2D("hyzc","yz curvcut",350,-65.,20.,100,-16.,16.) histsdict['hxysnr'] = ROOT.TH2D("hxysnr","xy low snr",200,-16.,16.,200,-16.,16.) histsdict['hyzsnr'] = ROOT.TH2D("hyzsnr","yz low snr",350,-65.,20.,100,-16.,16.) histsdict['hresX'] = ROOT.TH1D("hresX","residuals in X",400,-10000.,10000.) histsdict['hresY'] = ROOT.TH1D("hresY","residuals in Y",400,-10000.,10000.) histsdict['hresZ'] = ROOT.TH1D("hresZ","residuals in Z",400,-10000.,10000.) histsdict['hMCresX'] = ROOT.TH1D("hMCresX","MC Residuals in X",400,-10000.,10000.) histsdict['hMCresY'] = ROOT.TH1D("hMCresY","MC Residuals in Y",400,-10000.,10000.) histsdict['hMCresZ'] = ROOT.TH1D("hMCresZ","MC Residuals in Z",400,-10000.,10000.) histsdict['cuts'] = ROOT.TH1D("hcuts","cuts",25,0.,25.) histsdict['pedsigma'] = ROOT.TH1D("pedsigma","sigma",10500,0.,10500.) histsdict['pedmean'] = ROOT.TH1D("pedmean","mean",10500,0.,10500.) histsdict['someinfo'] = ROOT.TH1D("someinfo","some info",1,0.,1.) histsdict['clusteramp'] = ROOT.TH1D("clusteramp","cluster amplitude",250,0.,2000.) histsdict['digiamp'] = ROOT.TH1D("digiamp","Digi amplitude",250,0.,2000.) histsdict['resxy'] = ROOT.TH2D("hresxy","resxy",200,-16.,16.,200,-16.,16.) histsdict['rad'] = ROOT.TH1D("hrad","hrad",200,0.,16) histsdict['chi2cdf'] = ROOT.TH1D("hchi2cdf","chi2 cdf",100,0.,1.) histsdict['chi2cdf cutted'] = ROOT.TH1D("hchi2cdfcutted","chi2 cdf (cutted)",100,0.,1.) histsdict['chi2cdf cut'] = ROOT.TH1D("hchi2cdfcut","chi2 cdf (cuts)",100,0.,1.) histsdict['tcuts'] = ROOT.TH2D("htcut","htcut",20,0.,20.,20,0.,20.) histsdict['z vs theta'] = ROOT.TH2D("hzvtheta","Z vs Theta",350,-65.,20,180,0.,180.) histsdict['z vs theta c'] = ROOT.TH2D("hzvthetac","Z vs Theta (cuts)",350,-65.,20,180,0.,180.) histsdict['z vs phi'] = ROOT.TH2D("hzvphi","Z vs Phi",350,-65.,20,360,-180.,180.) histsdict['z vs phi c'] = ROOT.TH2D("hzvphic","Z vs Phi (cuts)",350,-65.,20,360,-180.,180.) histsdict['hxy le90'] = ROOT.TH2D("hxy le90","xy le90",200,-16.,16.,200,-16.,16.) histsdict['hyz le90'] = ROOT.TH2D("hyz le90","yz le90",350,-65.,20.,100,-16.,16.) histsdict['hxy gt90'] = ROOT.TH2D("hxy gt90","xy gt90",200,-15.,16.,200,-16.,16.) histsdict['hyz gt90'] = ROOT.TH2D("hyz gt90","yz gt90",350,-65.,20.,100,-16.,16.) histsdict['hresX first'] = ROOT.TH1D("hresXfirst","residuals in X first cluster",400,-10000.,10000.) histsdict['hresX last'] = ROOT.TH1D("hresXlast","residuals in X last cluster",400,-10000.,10000.) histsdict['hits per track vs res'] = ROOT.TH2D("hhitres","hits_per_track_vs_res",400,-10000.,10000,50,0.,50,) histsdict['theta vs fitf'] = ROOT.TH2D("hthevsfitf","theta_vs_trackflag",2,0.,2.,180,0.,180.) histsdict['theta vs clp'] = ROOT.TH2D("hthevsclp","theta_vs_clpusterpertrack",50,0.,50.,180,0.,180.) histsdict['theta vs mom'] = ROOT.TH2D("hthevsmom","theta_vs_momentum",2500,0,250.,180,0.,180.) histsdict['theta vs clsumamp'] = ROOT.TH2D("hthevsclsumamp","theta_vs_clsumamp",1500,0.,150000.,180,0.,180.) histsdict['theta vs clmeanamp f'] = ROOT.TH2D("hthevsclmeanampf","theta_vs_clmeanampf",1000,0.,20000.,180,0.,180.) histsdict['theta vs clmeanamp'] = ROOT.TH2D("hthevsclmeanamp","theta_vs_clmeanamp",1000,0.,20000.,180,0.,180.) histsdict['theta vs digsum'] = ROOT.TH2D("hthevsdigsum","theta_vs_digsum",250,0.,250.,180,0.,180.) histsdict['theta vs median'] = ROOT.TH2D("hthevsmedian","theta_vs_median",50,0.,50.,180,0.,180.) histsdict['theta vs median cut'] = ROOT.TH2D("hthevsmedianc","theta_vs_median (cut)",50,0.,50.,180,0.,180.) histsdict['phi vs clsumamp'] = ROOT.TH2D("hphivsclsumamp","phi_vs_clsumamp",1500,0.,150000.,360,-180.,180.) histsdict['phi vs clmeanamp'] = ROOT.TH2D("hphivsclmeanamp","phi_vs_clmeanamp",1000,0.,20000.,360,-180.,180.) histsdict['phi vs digsum'] = ROOT.TH2D("hphivsdigisum","phi_vs_digsum",250,0.,250.,360,-180.,180.) histsdict['phi vs mom'] = ROOT.TH2D("hphivsmom","phi_vs_momentum",2500,0,250.,360,-180.,180.) histsdict['phi vs clp'] = ROOT.TH2D("hphivsclp","phi_vs_clpusterpertrack",50,0.,50.,360,-180.,180.) histsdict['mom vs clsumamp'] = ROOT.TH2D("hmomvsclsumamp","mom_vs_clsumamp",1500,0.,150000.,2500,0.,250.) histsdict['mom vs clmeanamp'] = ROOT.TH2D("hmomclmeanamp","mom_vs_clmeanamp",1000,0.,20000.,2500,0.,250.) histsdict['mom vs digsum'] = ROOT.TH2D("hmomdigsum","mom_vs_digsum",250,0.,250.,2500,0.,250.) histsdict['clmeanamp'] = ROOT.TH1D("hclmeanamp","track_cluster_mean_amp",1000,0.,20000.) histsdict['clsumamp'] = ROOT.TH1D("hclsumamp","track_cluster_sum_amp",1500,0.,150000.) histsdict['digmeanamp'] = ROOT.TH1D("hdigmeanamp","track_digi_mean_amp",1000,0.,2000.) histsdict['digsumamp'] = ROOT.TH1D("hdigsumamp","track_digi_sum_amp",1400,0.,140000.) histsdict['digsum'] = ROOT.TH1D("hdigisum","number of digis in track",500,0.,1000.) histsdict['theta vs phi'] = ROOT.TH2D("hthetavsphi","thetha vs phi (all)",360,-180.,180.,180,0.,180.) histsdict['theta vs phi cut'] = ROOT.TH2D("hthetavsphi2","thetha vs phi (cut)",360,-180.,180.,180,0.,180.) histsdict['mean digis in cluster']=ROOT.TH1D("hmeandigincl","mean digis per cluster",200,0.,100.) histsdict['mean samples in cluster']=ROOT.TH1D("hmeansamincl","mean samples per cluster",200,0.,100.) histsdict['mean digis in cluster cut']=ROOT.TH1D("hmeandiginclcut","mean digis per cluster cut",200,0.,100.) histsdict['mean samples in cluster cut']=ROOT.TH1D("hmeansaminclcut","mean samples per cluster cut",200,0.,100.) histsdict['cut reduction']=ROOT.TH2D("hcutred","cut reductions",5,1.,6.,5,1.,6.) histsdict['clusterdists']=ROOT.TH1D("hcldist","distance between cluster",100,0.,5.) histsdict['clusterdists vs z']=ROOT.TH2D("hcldistz","distance between cluster vs z",188, -65, 20,100,0.,5.) # {{{ curvature curvd={} curvd['no cut'] = ROOT.TH1D("hcurv1","curvature (no cuts)",1000,0.,1) curvd['all cuts'] = ROOT.TH1D("hcurv2","curvature (all cuts)",1000,0.,1) histsdict['curvature']=curvd # }}} # {{{ chi2 chisq={} chisq['chindf no cuts'] = ROOT.TH1D("trackchi2_1","Track Chi2/ndf (no cuts)",250,0.,100) chisq['chindf all cuts'] = ROOT.TH1D("trackchi2_2","Track Chi2/ndf (all cuts)",250,0.,100) chisq['chi no cuts'] = ROOT.TH1D("trackchi2_3","Track Chi2 (no cuts)",250,0.,100) chisq['chi all cuts'] = ROOT.TH1D("trackchi2_4","Track Chi2 (all cuts)",250,0.,100) chisq['ndf no cuts'] = ROOT.TH1D("trackchi2_5","Track ndf (no cuts)",250,0.,100) chisq['ndf all cuts'] = ROOT.TH1D("trackchi2_6","Track ndf (all cuts)",250,0.,100) histsdict['trackchi2'] = chisq # }}} # {{{ tracknumber distributions tracknum={} tracknum['no cuts'] = ROOT.TH1D("trknumdist1","Track number distribution no cuts",100,0,100) tracknum['all cuts'] = ROOT.TH1D("trknumdist2","Track number distribution all cuts",100,0,100) #tracknum['low snr'] = ROOT.TH1D("trknumdist3","Track number distribution low snr",100,0,100) histsdict['tracknum'] = tracknum # }}} # {{{ clsizerad clrad={} clrad['no cuts'] = ROOT.TH1D("hclsizeradius1","clustersizesum vs radius",150,0.,15.) clrad['all cuts'] = ROOT.TH1D("hclsizeradius2","clustersizesum vs radius",150,0.,15.) clrad['in curvature cut'] = ROOT.TH1D("hclsizeradius3","clustersizesum vs radius for curvcut",150,0.,15.) histsdict['clsizeVsRad'] = clrad # }}} # {{{ clustersize hclsize={} hclsize['3D'] = ROOT.TH1D("hclustersize3D" ,"Clustersize 3D",100,0.,100.) hclsize['3DU'] = ROOT.TH1D("hclustersize3DU","Clustersize 3D unshared",100,0.,100.) hclsize['2D'] = ROOT.TH1D("hclustersize2D" ,"Clustersize 2D",100,0.,100.) histsdict['clustersize'] = hclsize # }}} # {{{ htrackld htrackld={} htrackld['no cuts'] = ROOT.TH1D("htracklen1","Track length (no cuts)",800,0.,80.) htrackld['curvature cut'] = ROOT.TH1D("htracklen2","Track length (curv cut)",800,0,80) htrackld['all cuts'] = ROOT.TH1D("htracklen3","track length (all cuts)",800,0.,80.) htrackld['low snr'] = ROOT.TH1D("htracklen4","track length (low snr)",800,0.,80.) histsdict['tracklen'] = htrackld # }}} # {{{ hthetad hthetad={} hthetad['no cuts'] = ROOT.TH1D("htheta1","theta angle of tracks",180,0.,180.) hthetad['theta cut'] = ROOT.TH1D("htheta2","theta theta cut",180,0.,180.) hthetad['curvature cut'] = ROOT.TH1D("htheta3","theta curv cut",180,0.,180.) hthetad['all cuts'] = ROOT.TH1D("htheta4","theta (all cuts)",180,0.,180.) hthetad['track cut'] = ROOT.TH1D("htheta5","theta single track cut",180,0.,180.) hthetad['low snr'] = ROOT.TH1D("htheta6","theta low snr",180,0.,180.) hthetad['no theta cut'] = ROOT.TH1D("htheta7","theta all but theta cut",180,0.,180.) hthetad['fit flag cut'] = ROOT.TH1D("htheta8","theta fit flag cut",180,0.,180.) hthetad['mom cut'] = ROOT.TH1D("htheta9","theta momentum cut",180,0.,180.) hthetad['phi cut'] = ROOT.TH1D("htheta10","theta phi cut",180,0.,180.) hthetad['cp cut'] = ROOT.TH1D("htheta11","theta cp cut",180,0.,180.) hthetad['cl sum cut'] = ROOT.TH1D("htheta12","theta cl sum cut",180,0.,180.) hthetad['cl mean cut'] = ROOT.TH1D("htheta13","theta cl mean cut",180,0.,180.) #hthetad['r cl sum'] = ROOT.TH1D("htheta14","theta r clsum",180,0.,180.) #hthetad['r cl mean'] = ROOT.TH1D("htheta15","theta r clmean",180,0.,180.) #hthetad['r phi'] = ROOT.TH1D("htheta16","theta r phi",180,0.,180.) #hthetad['r mom'] = ROOT.TH1D("htheta17","theta r mom",180,0.,180.) histsdict['theta'] = hthetad # }}} # {{{ hclustermaxd hclustermaxd={} #hclustermaxd['track cuts'] = ROOT.TH1D("hClusterMax1","Maximal sample amplitude in Cluster (track cut)",1200,0.,1200.) hclustermaxd['sat cut'] =ROOT.TH1D("hClusterMax1","max sample amplitude (saturaion)",250,0.,2000.) hclustermaxd['low snr'] =ROOT.TH1D("hClusterMax2","max sample amplitude (low snr)",250,0.,2000.) hclustermaxd['all cuts'] =ROOT.TH1D("hClusterMax3","max sample amplitude (all cuts)",250,0.,2000.) hclustermaxd['all'] =ROOT.TH1D("hClusterMax4","max sample amplitude ",250,0.,2000.) hclustermaxd['all cutted'] =ROOT.TH1D("hClusterMax5","max sample amplitude (all cutted)",250,0.,2000.) #hclustermaxd['track cut'] =ROOT.TH1D("hClusterMax5","max sample amplitude (track cut)",250,0.,2000.) #hclustermaxd['mom cut'] =ROOT.TH1D("hClusterMax5","max sample amplitude (mom cut)",250,0.,2000.) #hclustermaxd['theta cut'] =ROOT.TH1D("hClusterMax5","max sample amplitude (theta cut)",250,0.,2000.) #hclustermaxd['fit flag cut'] =ROOT.TH1D("hClusterMax5","max sample amplitude (fit flag cut)",250,0.,2000.) #hclustermaxd['cp cut'] =ROOT.TH1D("hClusterMax5","max sample amplitude (cp cut)",250,0.,2000.) #hclustermaxd['phi cut'] =ROOT.TH1D("hClusterMax5","max sample amplitude (phi cut)",250,0.,2000.) histsdict['clustermax']=hclustermaxd # }}} # {{{ hclusteramp hclusteramp={} hclusteramp['sat cut'] =ROOT.TH1D("hClusterAmp1","Cluster Amplitude (saturaion)",1000,0.,100000.) hclusteramp['low snr'] =ROOT.TH1D("hClusterAmp2","Cluster Amplitude (low snr)",1000,0.,100000.) hclusteramp['all cuts'] =ROOT.TH1D("hClusterAmp3","Cluster Amplitude (lall cuts)",1000,0.,100000.) hclusteramp['all'] =ROOT.TH1D("hClusterAmp4","Cluster Amplitude ",1000,0.,100000.) hclusteramp['all cutted'] =ROOT.TH1D("hClusterAmp5","Cluster Amplitude (all cutted)",1000,0.,100000.) hclusteramp['track cut'] =ROOT.TH1D("hClusterAmp6","Cluster Amplitude (track cut)",1000,0.,100000.) hclusteramp['mom cut'] =ROOT.TH1D("hClusterAmp7","Cluster Amplitude (mom cut)",1000,0.,100000.) hclusteramp['theta cut'] =ROOT.TH1D("hClusterAmp8","Cluster Amplitude (theta cut)",1000,0.,100000.) hclusteramp['fit flag cut'] =ROOT.TH1D("hClusterAmp9","Cluster Amplitude (fit flag cut)",1000,0.,100000.) hclusteramp['cp cut'] =ROOT.TH1D("hClusterAmp10","Cluster Amplitude (cp cut)",1000,0.,100000.) hclusteramp['phi cut'] =ROOT.TH1D("hClusterAmp11","Cluster Amplitude (phi cut)",1000,0.,100000.) histsdict['clusteramp']=hclusteramp # }}} # {{{ hphid hphid={} hphid['no cut'] = ROOT.TH1D("hphi1","phi no cut",360,-180.,180.) hphid['track cut'] = ROOT.TH1D("hphi2","phi track cut",360,-180.,180.) hphid['curvature cut'] = ROOT.TH1D("hphi3","phi curvature cut",360,-180.,180.) hphid['low snr'] = ROOT.TH1D("hphi4","phi low snr",360,-180.,180.) hphid['all cuts'] = ROOT.TH1D("hphi5","phi (after cuts)",360,-180.,180.) hphid['no phi cut'] = ROOT.TH1D("hphi6","phi all but phi cut",360,-180.,180.) hphid['mom cut'] = ROOT.TH1D("hphi7","phi momentum cut",360,-180.,180.) hphid['theta cut'] = ROOT.TH1D("hphi8","phi theta cut",360,-180.,180.) hphid['fit flag cut'] = ROOT.TH1D("hphi9","phi fit flag cut",360,-180.,180.) hphid['cp cut'] = ROOT.TH1D("hphi10","phi cp cut",360,-180.,180.) hphid['phi cut'] = ROOT.TH1D("hphi11","phi phi cut",360,-180.,180.) hphid['cl sum cut'] = ROOT.TH1D("hphi12","phi cl sum cut",360,-180.,180.) hphid['cl mean cut'] = ROOT.TH1D("hphi13","phi cl mean cut",360,-180.,180.) hphid['phi'] = ROOT.TH1D("htrackphi","phi of Track",360,-180.,180.) histsdict['phi']=hphid # }}} # {{{ hmomd hmomd={} hmomd['no cut'] = ROOT.TH1D("hmom1","mom no cut",3000,0.,300.) hmomd['track cut'] = ROOT.TH1D("hmom2","mom track cut",3000,0.,300.) hmomd['curvature cut'] = ROOT.TH1D("hmom3","mom curvature cut",3000,0.,300.) hmomd['low snr'] = ROOT.TH1D("hmom4","mom low snr",3000,0.,300.) hmomd['all cuts'] = ROOT.TH1D("hmom5","mom (after cuts)",3000,0.,300.) hmomd['no mom cut'] = ROOT.TH1D("hmom6","mom all but mom cut",3000,0.,300.) hmomd['mom cut'] = ROOT.TH1D("hmom7","mom momentum cut",3000,0.,300.) hmomd['theta cut'] = ROOT.TH1D("hmom8","mom theta cut",3000,0.,300.) hmomd['fit flag cut'] = ROOT.TH1D("hmom9","mom fit flag cut",3000,0.,300.) hmomd['cp cut'] = ROOT.TH1D("hmom10","mom cp cut",3000,0.,300.) hmomd['phi cut'] = ROOT.TH1D("hmom11","mom phi cut",3000,0.,300.) hmomd['cl sum cut'] = ROOT.TH1D("hmom12","mom cl sum cut",3000,0.,300.) hmomd['cl mean cut'] = ROOT.TH1D("hmom13","mom cl mean cut",3000,0.,300.) histsdict['mom']=hmomd # hres={} # hres['X vs phi'] = ROOT.TH2D("hres1","resX vs Phi", # hres['X vs rad'] # hres['MC X vs phi'] # gres['MC X vs rad'] # }}} hpulls={} hpulls['cluster x vs z'] = ROOT.TH2D("hpull_cl_xVSz","(clusterposX-trackpos)/clustererr",75,-63,12,200,-10,10) hpulls['cluster y vs z'] = ROOT.TH2D("hpull_cl_yVSz","(clusterposY-trackpos)/clustererr",75,-63,12,200,-10,10) hpulls['cluster z vs z'] = ROOT.TH2D("hpull_cl_zVSz","(clusterposZ-trackpos)/clustererr",75,-63,12,200,-10,10) hpulls['clustert x vs z'] = ROOT.TH2D("hpull_clt_xVSz","(clusterposX-trackpos)/trackrerr",75,-63,12,200,-10,10) hpulls['clustert y vs z'] = ROOT.TH2D("hpull_clt_yVSz","(clusterposY-trackpos)/trackrerr",75,-63,12,200,-10,10) hpulls['clustert z vs z'] = ROOT.TH2D("hpull_clt_zVSz","(clusterposZ-trackpos)/trackrerr",75,-63,12,200,-10,10) hpulls['cluster err X vs z'] = ROOT.TH2D("hpull_cl_errXvsZ","Cluster Error X vs Z",75,-63,12,200,0,500) hpulls['cluster err Y vs z'] = ROOT.TH2D("hpull_cl_errYvsZ","Cluster Error Y vs Z",75,-63,12,200,0,500) hpulls['cluster err Z vs z'] = ROOT.TH2D("hpull_cl_errZvsZ","Cluster Error Z vs Z",75,-63,12,200,0,500) hpulls['cluster err RP vs z']=ROOT.TH2D("hpull_cl_errRPvsZ","Cluster Error RP vs Z",75,-63,12,400,0,2000) hpulls['track err X vs z'] = ROOT.TH2D("hpull_tr_errXvsZ","Track Error X vs Z",75,-63,12,200,0,200) hpulls['track err Y vs z'] = ROOT.TH2D("hpull_tr_errYvsZ","Track Error Y vs Z",75,-63,12,200,0,200) hpulls['track err Z vs z'] = ROOT.TH2D("hpull_tr_errZvsZ","Track Error Z vs Z",75,-63,12,200,0,200) hpulls['cluster MCx vs z'] = ROOT.TH2D("hpull_clMC_xVSz","(clusterposX-MCpos)/clustererr",75,-63,12,200,-20,20) hpulls['cluster MCy vs z'] = ROOT.TH2D("hpull_clMC_yVSz","(clusterposY-MCpos)/clustererr",75,-63,12,200,-20,20) hpulls['cluster MCz vs z'] = ROOT.TH2D("hpull_clMC_zVSz","(clusterposZ-MCpos)/clustererr",75,-63,12,200,-200,200) # hpulls['cluster MCphi vs z'] = ROOT.TH2D("hpull_clMC_phiVSz","clusterphiMCres/clustererr",75,-63,12,1000,-2,2) hpulls['trackp x vs z'] = ROOT.TH2D("hpull_trp_xVSz","(trackposX-MCpos)/Trackrerr",75,-63,12,200,-20,20) hpulls['trackp y vs z'] = ROOT.TH2D("hpull_trp_yVSz","(trackposY_MCpos)/Trackrerr",75,-63,12,200,-20,20) hpulls['trackp z vs z'] = ROOT.TH2D("hpull_trp_zVSz","(trackposZ-MCpos)/Trackrerr",75,-63,12,200,-200,200) # hpulls['trackp phi vs z'] = ROOT.TH2D("hpull_trp_phiVSz","(trackposPhi-MCpos)/Trackrerr",75,-63,12,1000,-2,2) hpulls['track phi vs z'] = ROOT.TH2D("hpull_tr_phiVSz","(trackPhi-MCPhi)/Trackrerr",75,-63,12,100,-20,20) hpulls['track theta vs z'] = ROOT.TH2D("hpull_tr_thetaVSz","(tracktheta-MCtheta)/Trackrerr",75,-63,12,100,-20,20) hpulls['track moml vs z'] = ROOT.TH2D("hpull_tr_momVSzL","(trackmomL-MCmom)/TrackMomrerr",75,-63,12,100,-20,20) hpulls['track momt vs z'] = ROOT.TH2D("hpull_tr_momVSzT","(trackmomT-MCmom)/TrackMomrerr",75,-63,12,100,-20,20) hpulls['track pos vs z'] = ROOT.TH2D("hpull_tr_posVSz","(trackpos-MCpos)/Trackrerr",75,-63,12,100,-2,2) hpulls['phierr'] =ROOT.TH1D("hphierr","error in track phi",200,-10,10) hpulls['MCphi']=ROOT.TH1D("hMCPhi","MC track phi",360,-180,180) histsdict['pulls']=hpulls hresvsZ={} hresvsZ['cluster track X'] =ROOT.TH2D("hClusterResXvsZ","Cluster track Res X vs Z",75,-63,12,200,-1000,1000) hresvsZ['cluster track Y'] =ROOT.TH2D("hClusterResYvsZ","Cluster track Res Y vs Z",75,-63,12,200,-1000,1000) hresvsZ['cluster track Z'] =ROOT.TH2D("hClusterResZvsZ","Cluster track Res Z vs Z",75,-63,12,200,-1000,1000) hresvsZ['cluster MC X'] =ROOT.TH2D("hClusterMCResXvsZ","Cluster MC Res X vs Z",75,-63,12,100,-1000,1000) hresvsZ['cluster MC Y'] =ROOT.TH2D("hClusterMCResYvsZ","Cluster MC Res Y vs Z",75,-63,12,100,-1000,1000) hresvsZ['cluster MC Z'] =ROOT.TH2D("hClusterMCResZvsZ","Cluster MC Res Z vs Z",75,-63,12,400,-2000,2000) hresvsZ['cluster MC rp'] =ROOT.TH2D("hClusterMCResRPvsZ","Cluster MC Res RP vs Z",75,-63,12,200,-10000,10000) histsdict['res vs Z']=hresvsZ hresvsth={} hresvsth['cluster MC X'] = ROOT.TH2D("hClusterMCResvsThetaX","Cluster MC Res X vs Theta",180,0,180,200,-2000,2000) hresvsth['cluster MC Y'] = ROOT.TH2D("hClusterMCResvsThetaY","Cluster MC Res Y vs Theta",180,0,180,200,-2000,2000) hresvsth['cluster MC Z'] = ROOT.TH2D("hClusterMCResvsThetaZ","Cluster MC Res Z vs Theta",180,0,180,200,-2000,2000) hresvsth['cluster MC rp'] = ROOT.TH2D("hClusterMCResvsThetaRP","Cluster MC Res RP vs Theta",180,0,180,200,-10000,10000) hresvsth['cluster MC rp tan'] = ROOT.TH2D("hClusterMCResRPvsTanTheta","Cluster MC Res RP vs tan(Theta)",100,-1000,1000,400,-40000,40000) histsdict['res vs theta']=hresvsth #histsdict['hDigiWidth'] = ROOT.TH1D("hDigiWidth","sigma of digi",100,0.,10.*(1/args.sampling)*1000) #histsdict['hDigiRMS'] = ROOT.TH1D("hDigiRMS","RMS of digi",100,0.,10.) #histsdict['hDigiMaxS'] = ROOT.TH1D("hDigiMaxS","Maximal sample amplitude",1024,0.,1024.) #histsdict['hintsampleamp'] = ROOT.TH1D("hintsampleamp","integrated sample amp",2500,0.,10000.) #histsdict['hnsamperpad'] = ROOT.TH1D("hnsamperpad","number of samples per pad",20,0.,20.) #histsdict['hnsamperpadpsa'] = ROOT.TH1D("hnsamperpadpsa","number of samples per pad psa",20,0.,20.) #histsdict['hnpadsndigi'] = ROOT.TH1D("hnpadsvsndigi","number of pads - number of digis",20,-10.,10.) #histsdict['hdigiperpad'] = ROOT.TH1D("hdigiperpad","digis per pad",10,0.,10.) #histsdict['hsamperdigi'] = ROOT.TH1D("hsamperdigi","samples per digi",20,0.,20.) # unused #histsdict['hslicehist'] = ROOT.TH1D("hslicehist","clusterpos",80,-60.,20.) #histsdict['hclsizeradius2D'] = ROOT.TH1D("hclsizeradius2D","clustersizesum vs radius",150,0.,15.) #histsdict['hclsizevsradius2D'] = ROOT.TH2D("hclsizevsradius2D","radius vs clustersize",150,0.,15.,100,0.,100.) return histsdict def cosmic_histopt(): histsopt={} histsopt['hyz le90']="colz" histsopt['hxy gt90']="colz" histsopt['hyz gt90']="colz" histsopt['hits per track vs res']="colz" histsopt['theta vs fitf']="colz" histsopt['theta vs clp']="colz" histsopt['theta vs mom']="colz" histsopt['theta vs clsumamp']="colz" histsopt['theta vs clmeanamp f']="colz" histsopt['theta vs clmeanamp']="colz" histsopt['theta vs digsum']="colz" histsopt['theta vs median']="colz" histsopt['theta vs median cut']="colz" histsopt['phi vs clsumamp']="colz" histsopt['phi vs clmeanamp']="colz" histsopt['phi vs digsum']="colz" histsopt['phi vs mom']="colz" histsopt['phi vs clp']="colz" histsopt['mom vs clsumamp']="colz" histsopt['mom vs clmeanamp']="colz" histsopt['mom vs digsum']="colz" histsopt['theta vs phi']="colz" histsopt['theta vs phi cut']="colz" histsopt['cut reduction']="colz,text" histsopt['hclsizevsradius']="colz" histsopt['hcl size vs amp']="colz" histsopt['hcl medians meana']="colz" histsopt['hresvsclsize']="colz" histsopt['hresvsz']="colz" histsopt['hxy']="colz" histsopt['hxy amp']="colz" histsopt['hxy amp cut']="colz" histsopt['hxy res']="colz" histsopt['hxy resR']="colz" histsopt['hxy resY']="colz" histsopt['hyz']="colz" histsopt['hyz res']="colz" histsopt['hxy last']="colz" histsopt['hxy first']="colz" histsopt['hxyc']="colz" histsopt['hyzc']="colz" histsopt['hxysnr']="colz" histsopt['hyzsnr']="colz" histsopt['resxy']="colz" histsopt['tcuts']="colz" histsopt['z vs theta']="colz" histsopt['z vs theta c']="colz" histsopt['z vs phi']="colz" histsopt['z vs phi c']="colz" histsopt['hxy le90']="colz" return histsopt def cosmic_canvasopt(): canvasopt={} canvasopt['hclsizevsradius']="logz" return canvasopt def cosmic_axlabel(): axlabel=[] axlabel.append({}) axlabel.append({}) axlabel[0]['hsnr']="SNR" axlabel[0]['csnr']="Cluster SNR" axlabel[0]['hmom']="Momentum" axlabel[0]['cut reduction']="Type" axlabel[1]['cut reduction']="Cut" return axlabel def cosmic_hslices(zSlices): resbins=200 rebin1=30 rebin2=40 rebin3=50 cSlices = (3,6,9,12,15,18,21,24,50) rSlices = (6.6,8.2,9.8,11.4,13,15) xySlices = (-10,-5,0,5,10,20) cpSlices = (7,14,21,28,35,42) thSlices = (90,95,100,105,110,120) phiSlices = (30,60,90,120,150,180) hslices={} hslices['residualsX'] = dict([(i, ROOT.TH1D("StatsResX Z:"+str(zSlices[i]), "Residuals X", resbins,-10000,10000)) for i in range(len(zSlices))]) hslices['residualsY'] = dict([(i, ROOT.TH1D("StatsResY Z:"+str(zSlices[i]), "Residuals Y", resbins,-10000,10000)) for i in range(len(zSlices))]) hslices['MCresidualsX'] = dict([(i, ROOT.TH1D("MCStatsResX Z:"+str(zSlices[i]), "MC Residuals X", resbins,-10000,10000)) for i in range(len(zSlices))]) hslices['MCresidualsY'] = dict([(i, ROOT.TH1D("MCStatsResY Z:"+str(zSlices[i]), "MC Residuals Y", resbins,-10000,10000)) for i in range(len(zSlices))]) hslices['residualsZ'] = dict([(i, ROOT.TH1D("StatsResZ Z:"+str(zSlices[i]), "Residuals Z", resbins,-10000,10000)) for i in range(len(zSlices))]) hslices['nRresidualsX'] = dict([(i, ROOT.TH1D("StatsResX R:"+str(rSlices[i]), "R Residuals X", resbins,-10000,10000)) for i in range(len(rSlices))]) hslices['nRresidualsZ'] = dict([(i, ROOT.TH1D("StatsResZ R:"+str(rSlices[i]), "R Residuals Z", resbins,-10000,10000)) for i in range(len(rSlices))]) hslices['nresperclsize'] = dict([(i, ROOT.TH1D("resperclsize"+str(cSlices[i]), "residuals for clustersize "+str(cSlices[i]), resbins,-10000,10000)) for i in range(len(cSlices))]) hslices['clustersize'] = dict([(i, ROOT.TH1D("clustersize3D"+str(zSlices[i]), "Clustersize 3D",100,0.,100.)) for i in range(len(zSlices))]) hslices['clustersizeU'] = dict([(i, ROOT.TH1D("clustersize3DU"+str(zSlices[i]), "Clustersize 3D Unshared",1000,0.,100.)) for i in range(len(zSlices))]) hslices['clustersize2D'] = dict([(i, ROOT.TH1D("clustersize2D"+str(zSlices[i]),"Clustersize 2D",100,0.,100.)) for i in range(len(zSlices))]) hslices['nsnr'] = dict([(i, ROOT.TH1D("nsnr"+str(zSlices[i]),"signal to noise",200,0.,1000.)) for i in range(len(zSlices))]) hslices['csnr'] = dict([(i, ROOT.TH1D("csnr"+str(zSlices[i]),"signal to noise (cluster)",500,0.,5000.)) for i in range(len(zSlices))]) hslices['nsamperpad'] = dict([(i, ROOT.TH1D("nsampperpad"+str(zSlices[i]),"samples per pad",20,0.,20.)) for i in range(len(zSlices))]) hslices['ndigiperpad'] = dict([(i, ROOT.TH1D("digiperpad"+str(zSlices[i]),"digis per pad",10,0.,10.)) for i in range(len(zSlices))]) hslices['nsamperclust'] = dict([(i, ROOT.TH1D("samperclust"+str(zSlices[i]),"samples per cluster",100,0.,100.)) for i in range(len(zSlices))]) hslices['clustermax'] = dict([(i, ROOT.TH1D("clustermax"+str(zSlices[i]),"max amp in cluster",250,0.,1000.)) for i in range(len(zSlices))]) hslices['clusteramp'] = dict([(i, ROOT.TH1D("clusteramp"+str(zSlices[i]),"cluster amp",250,0.,2000.)) for i in range(len(zSlices))]) hslices['XResidualsX'] = dict([(i, ROOT.TH1D("StatsResX X:"+str(xySlices[i]),"XResiduals X", resbins,-10000,10000)) for i in range(len(xySlices))]) hslices['YResidualsX'] = dict([(i, ROOT.TH1D("StatsResX Y:"+str(xySlices[i]),"YResiduals X", resbins,-10000,10000)) for i in range(len(xySlices))]) hslices['cpResidualsX'] = dict([(i, ROOT.TH1D("StatsResX cp:"+str(cpSlices[i]),"cpResiduals X", resbins,-10000,10000)) for i in range(len(cpSlices))]) hslices['thetaResidualsX']= dict([(i, ROOT.TH1D("StatsResX th:"+str(thSlices[i]),"thResiduals X", resbins,-10000,10000)) for i in range(len(thSlices))]) hslices['hxy res slice']=dict([(i,ROOT.TH2D("hxyres"+str(zSlices[i]),"xy res "+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy MC res slice']=dict([(i,ROOT.TH2D("hxyMCres"+str(zSlices[i]),"xy MC res "+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy slice']=dict([(i,ROOT.TH2D("hxy"+str(zSlices[i]),"xy "+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy all slice']=dict([(i,ROOT.TH2D("hxya"+str(zSlices[i]),"xy "+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy resR slice']=dict([(i,ROOT.TH2D("hxyresR"+str(zSlices[i]),"xy resR "+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy resP slice']=dict([(i,ROOT.TH2D("hxyresP"+str(zSlices[i]),"xy resP"+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy MC resR slice']=dict([(i,ROOT.TH2D("hxyMCresR"+str(zSlices[i]),"xy MC resR "+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy MC resP slice']=dict([(i,ROOT.TH2D("hxyMCresP"+str(zSlices[i]),"xy MC resP "+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy resY slice']=dict([(i,ROOT.TH2D("hxyresY"+str(zSlices[i]),"xy resY "+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['hxy Y slice']=dict([(i,ROOT.TH2D("hxyY"+str(zSlices[i]),"xy Y"+str(zSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(zSlices))]) hslices['htracklength']=dict([(i,ROOT.TH1D("htracklength"+str(zSlices[i]),"Tracklength"+str(zSlices[i]),400,0.,40.)) for i in range(len(zSlices))]) hslices['hcluster per cm']=dict([(i,ROOT.TH1D("hclusterpercm"+str(zSlices[i]),"Cluster per cm"+str(zSlices[i]) ,50,0.,5.)) for i in range(len(zSlices))]) hslices['hdigi per cm']=dict([(i,ROOT.TH1D("hdigipercm"+str(zSlices[i]),"Digi per cm"+str(zSlices[i]) ,500,0.,50.)) for i in range(len(zSlices))]) hslices['hchi2ndf']=dict([(i,ROOT.TH1D("hchi2ndf"+str(zSlices[i]),"chi2ndf"+str(zSlices[i]) ,500,0.,50.)) for i in range(len(zSlices))]) hslices['hcluster per track']=dict([(i,ROOT.TH1D("hclusterpertrack"+str(zSlices[i]),"Cluster per track"+str(zSlices[i]),50,0,50)) for i in range(len(zSlices))]) hslices['hdigi per track']=dict([(i,ROOT.TH1D("hdigipertrack"+str(zSlices[i]),"Digis per track"+str(zSlices[i]),50,0,500)) for i in range(len(zSlices))]) hslices['hxy slice phi']=dict([(i,ROOT.TH2D("hxy_phi"+str(phiSlices[i]),"xy phi"+str(phiSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(phiSlices))]) hslices['hxy resX phi slice']=dict([(i,ROOT.TH2D("hxyresX_phi"+str(phiSlices[i]),"xy resX phi"+str(phiSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(phiSlices))]) hslices['hxy MC resX phi slice']=dict([(i,ROOT.TH2D("hxyMCresX_phi"+str(phiSlices[i]),"xy MC resX phi"+str(phiSlices[i]),80,-16.,16.,80,-16.,16.)) for i in range(len(phiSlices))]) return hslices