-
- const Bool_t expert = kTRUE ;
- const Bool_t image = kTRUE ;
-
- Int_t nCh = AliMUONConstants::NTrackingCh();
- Int_t nDE = 1100;
-
- // track info
- TH1F* hESDnTracks = new TH1F("hESDnTracks", "number of tracks;n_{tracks}", 20, 0., 20.);
- Add2ESDsList(hESDnTracks, kESDnTracks, !expert, image);
-
- TH1F* hESDMatchTrig = new TH1F("hESDMatchTrig", "number of tracks matched with trigger;n_{tracks}", 20, 0., 20.);
- Add2ESDsList(hESDMatchTrig, kESDMatchTrig, !expert, image);
-
- TH1F* hESDMomentum = new TH1F("hESDMomentum", "momentum distribution;p (GeV/c)", 300, 0., 300);
- Add2ESDsList(hESDMomentum, kESDMomentum, !expert, image);
-
- TH1F* hESDPt = new TH1F("hESDPt", "transverse momentum distribution;p_{t} (GeV/c)", 200, 0., 50);
- Add2ESDsList(hESDPt, kESDPt, !expert, image);
-
- TH1F* hESDRapidity = new TH1F("hESDRapidity", "rapidity distribution;rapidity", 200, -4.5, -2.);
- Add2ESDsList(hESDRapidity, kESDRapidity, !expert, image);
-
- TH1F* hESDChi2 = new TH1F("hESDChi2", "normalized #chi^{2} distribution;#chi^{2} / ndf", 500, 0., 50.);
- Add2ESDsList(hESDChi2, kESDChi2, !expert, image);
-
- TH1F* hESDProbChi2 = new TH1F("hESDProbChi2", "distribution of probability of #chi^{2};prob(#chi^{2})", 100, 0., 1.);
- Add2ESDsList(hESDProbChi2, kESDProbChi2, !expert, image);
-
- TH1F* hESDThetaX = new TH1F("hESDThetaX", "#theta_{X} distribution;#theta_{X} (degree)", 360, -180., 180);
- Add2ESDsList(hESDThetaX, kESDThetaX, !expert, image);
-
- TH1F* hESDThetaY = new TH1F("hESDThetaY", "#theta_{Y} distribution;#theta_{Y} (degree)", 360, -180., 180);
- Add2ESDsList(hESDThetaY, kESDThetaY, !expert, image);
-
- // cluster info
- for (Int_t i = 0; i < nCh; i++) {
- Float_t rMax = AliMUONConstants::Rmax(i/2);
- TH2F* hESDClusterHitMap = new TH2F(Form("hESDClusterHitMap%d",i+1), Form("cluster position distribution in chamber %d;X (cm);Y (cm)",i+1),
- 100, -rMax, rMax, 100, -rMax, rMax);
- Add2ESDsList(hESDClusterHitMap, kESDClusterHitMap+i, expert, !image);
- }
-
- TH1F* hESDnClustersPerTrack = new TH1F("hESDnClustersPerTrack", "number of associated clusters per track;n_{clusters}", 20, 0., 20.);
- Add2ESDsList(hESDnClustersPerTrack, kESDnClustersPerTrack, !expert, image);
-
- TH1F* hESDnClustersPerCh = new TH1F("hESDnClustersPerCh", "averaged number of clusters per chamber per track;chamber ID;<n_{clusters}>", nCh, -0.5, nCh-0.5);
- hESDnClustersPerCh->SetFillColor(kRed);
- Add2ESDsList(hESDnClustersPerCh, kESDnClustersPerCh, !expert, image);
-
- TH1F* hESDnClustersPerDE = new TH1F("hESDnClustersPerDE", "averaged number of clusters per DE per track;DetElem ID;<n_{clusters}>", nDE+1, -0.5, nDE+0.5);
- hESDnClustersPerDE->SetFillColor(kRed);
- Add2ESDsList(hESDnClustersPerDE, kESDnClustersPerDE, !expert, image);
-
- for (Int_t i = 0; i < nCh; i++) {
- TH1F* hESDClusterChargeInCh = new TH1F(Form("hESDClusterChargeInCh%d",i+1), Form("cluster charge distribution in chamber %d;charge (fC)",i+1), 100, 0., 1000.);
- Add2ESDsList(hESDClusterChargeInCh, kESDClusterChargeInCh+i, expert, !image);
- }
-
- TH1F* hESDClusterChargePerChMean = new TH1F("hESDClusterChargePerChMean", "cluster mean charge per chamber;chamber ID;<charge> (fC)", nCh, -0.5, nCh-0.5);
- hESDClusterChargePerChMean->SetOption("P");
- hESDClusterChargePerChMean->SetMarkerStyle(kFullDotMedium);
- hESDClusterChargePerChMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDClusterChargePerChMean, kESDClusterChargePerChMean, !expert, image);
-
- TH1F* hESDClusterChargePerChSigma = new TH1F("hESDClusterChargePerChSigma", "cluster charge dispersion per chamber;chamber ID;#sigma_{charge} (fC)", nCh, -0.5, nCh-0.5);
- hESDClusterChargePerChSigma->SetOption("P");
- hESDClusterChargePerChSigma->SetMarkerStyle(kFullDotMedium);
- hESDClusterChargePerChSigma->SetMarkerColor(kRed);
- Add2ESDsList(hESDClusterChargePerChSigma, kESDClusterChargePerChSigma, !expert, image);
-
- TH1F* hESDClusterChargePerDE = new TH1F("hESDClusterChargePerDE", "cluster mean charge per DE;DetElem ID;<charge> (fC)", nDE+1, -0.5, nDE+0.5);
- hESDClusterChargePerDE->SetOption("P");
- hESDClusterChargePerDE->SetMarkerStyle(kFullDotMedium);
- hESDClusterChargePerDE->SetMarkerColor(kRed);
- Add2ESDsList(hESDClusterChargePerDE, kESDClusterChargePerDE, !expert, image);
-
- for (Int_t i = 0; i < nCh; i++) {
- TH1F* hESDClusterSizeInCh = new TH1F(Form("hESDClusterSizeInCh%d",i+1), Form("cluster size distribution in chamber %d;size (n_{pads})",i+1), 200, 0., 200.);
- Add2ESDsList(hESDClusterSizeInCh, kESDClusterSizeInCh+i, expert, !image);
- }
-
- TH1F* hESDClusterSizePerChMean = new TH1F("hESDClusterSizePerChMean", "cluster mean size per chamber;chamber ID;<size> (n_{pads})", nCh, -0.5, nCh-0.5);
- hESDClusterSizePerChMean->SetOption("P");
- hESDClusterSizePerChMean->SetMarkerStyle(kFullDotMedium);
- hESDClusterSizePerChMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDClusterSizePerChMean, kESDClusterSizePerChMean, !expert, image);
-
- TH1F* hESDClusterSizePerChSigma = new TH1F("hESDClusterSizePerChSigma", "cluster size dispersion per chamber;chamber ID;#sigma_{size} (n_{pads})", nCh, -0.5, nCh-0.5);
- hESDClusterSizePerChSigma->SetOption("P");
- hESDClusterSizePerChSigma->SetMarkerStyle(kFullDotMedium);
- hESDClusterSizePerChSigma->SetMarkerColor(kRed);
- Add2ESDsList(hESDClusterSizePerChSigma, kESDClusterSizePerChSigma, !expert, image);
-
- TH1F* hESDClusterSizePerDE = new TH1F("hESDClusterSizePerDE", "cluster mean size per DE;DetElem ID;<size> (n_{pads})", nDE+1, -0.5, nDE+0.5);
- hESDClusterSizePerDE->SetOption("P");
- hESDClusterSizePerDE->SetMarkerStyle(kFullDotMedium);
- hESDClusterSizePerDE->SetMarkerColor(kRed);
- Add2ESDsList(hESDClusterSizePerDE, kESDClusterSizePerDE, !expert, image);
-
- // cluster - track info
- for (Int_t i = 0; i < nCh; i++) {
- TH1F* hESDResidualXInCh = new TH1F(Form("hESDResidualXInCh%d",i+1), Form("cluster-track residual-X distribution in chamber %d;#Delta_{X} (cm)",i+1), 1000, -5., 5.);
- Add2ESDsList(hESDResidualXInCh, kESDResidualXInCh+i, expert, !image);
-
- TH1F* hESDResidualYInCh = new TH1F(Form("hESDResidualYInCh%d",i+1), Form("cluster-track residual-Y distribution in chamber %d;#Delta_{Y} (cm)",i+1), 1000, -1., 1.);
- Add2ESDsList(hESDResidualYInCh, kESDResidualYInCh+i, expert, !image);
-
- TH1F* hESDLocalChi2XInCh = new TH1F(Form("hESDLocalChi2XInCh%d",i+1), Form("local chi2-X distribution in chamber %d;local #chi^{2}_{X}",i+1), 1000, 0., 25);
- Add2ESDsList(hESDLocalChi2XInCh, kESDLocalChi2XInCh+i, expert, !image);
-
- TH1F* hESDLocalChi2YInCh = new TH1F(Form("hESDLocalChi2YInCh%d",i+1), Form("local chi2-Y distribution in chamber %d;local #chi^{2}_{Y}",i+1), 1000, 0., 25);
- Add2ESDsList(hESDLocalChi2YInCh, kESDLocalChi2YInCh+i, expert, !image);
-
- TH1F* hESDLocalChi2InCh = new TH1F(Form("hESDLocalChi2InCh%d",i+1), Form("local chi2 (~0.5*(#chi^{2}_{X}+#chi^{2}_{Y})) distribution in chamber %d;local #chi^{2}",i+1), 1000, 0., 25);
- Add2ESDsList(hESDLocalChi2InCh, kESDLocalChi2InCh+i, expert, !image);
- }
-
- TH1F* hESDResidualXPerChMean = new TH1F("hESDResidualXPerChMean", "cluster-track residual-X per Ch: mean;chamber ID;<#Delta_{X}> (cm)", nCh, -0.5, nCh-0.5);
- hESDResidualXPerChMean->SetOption("P");
- hESDResidualXPerChMean->SetMarkerStyle(kFullDotMedium);
- hESDResidualXPerChMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDResidualXPerChMean, kESDResidualXPerChMean, !expert, image);
-
- TH1F* hESDResidualYPerChMean = new TH1F("hESDResidualYPerChMean", "cluster-track residual-Y per Ch: mean;chamber ID;<#Delta_{Y}> (cm)", nCh, -0.5, nCh-0.5);
- hESDResidualYPerChMean->SetOption("P");
- hESDResidualYPerChMean->SetMarkerStyle(kFullDotMedium);
- hESDResidualYPerChMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDResidualYPerChMean, kESDResidualYPerChMean, !expert, image);
-
- TH1F* hESDResidualXPerChSigma = new TH1F("hESDResidualXPerChSigma", "cluster-track residual-X per Ch: sigma;chamber ID;#sigma_{X} (cm)", nCh, -0.5, nCh-0.5);
- hESDResidualXPerChSigma->SetOption("P");
- hESDResidualXPerChSigma->SetMarkerStyle(kFullDotMedium);
- hESDResidualXPerChSigma->SetMarkerColor(kRed);
- Add2ESDsList(hESDResidualXPerChSigma, kESDResidualXPerChSigma, !expert, image);
-
- TH1F* hESDResidualYPerChSigma = new TH1F("hESDResidualYPerChSigma", "cluster-track residual-Y per Ch: sigma;chamber ID;#sigma_{Y} (cm)", nCh, -0.5, nCh-0.5);
- hESDResidualYPerChSigma->SetOption("P");
- hESDResidualYPerChSigma->SetMarkerStyle(kFullDotMedium);
- hESDResidualYPerChSigma->SetMarkerColor(kRed);
- Add2ESDsList(hESDResidualYPerChSigma, kESDResidualYPerChSigma, !expert, image);
-
- TH1F* hESDLocalChi2XPerChMean = new TH1F("hESDLocalChi2XPerCh", "local chi2-X per Ch: mean;chamber ID;<local #chi^{2}_{X}>", nCh, -0.5, nCh-0.5);
- hESDLocalChi2XPerChMean->SetOption("P");
- hESDLocalChi2XPerChMean->SetMarkerStyle(kFullDotMedium);
- hESDLocalChi2XPerChMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDLocalChi2XPerChMean, kESDLocalChi2XPerChMean, !expert, image);
-
- TH1F* hESDLocalChi2YPerChMean = new TH1F("hESDLocalChi2YPerCh", "local chi2-Y per Ch: mean;chamber ID;<local #chi^{2}_{Y}>", nCh, -0.5, nCh-0.5);
- hESDLocalChi2YPerChMean->SetOption("P");
- hESDLocalChi2YPerChMean->SetMarkerStyle(kFullDotMedium);
- hESDLocalChi2YPerChMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDLocalChi2YPerChMean, kESDLocalChi2YPerChMean, !expert, image);
-
- TH1F* hESDLocalChi2PerChMean = new TH1F("hESDLocalChi2PerCh", "local chi2 (~0.5*(#chi^{2}_{X}+#chi^{2}_{Y})) per Ch: mean;chamber ID;<local #chi^{2}>", nCh, -0.5, nCh-0.5);
- hESDLocalChi2PerChMean->SetOption("P");
- hESDLocalChi2PerChMean->SetMarkerStyle(kFullDotMedium);
- hESDLocalChi2PerChMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDLocalChi2PerChMean, kESDLocalChi2PerChMean, !expert, image);
-
- TH1F* hESDResidualXPerDEMean = new TH1F("hESDResidualXPerDEMean", "cluster-track residual-X per DE: mean;DetElem ID;<#Delta_{X}> (cm)", nDE+1, -0.5, nDE+0.5);
- hESDResidualXPerDEMean->SetOption("P");
- hESDResidualXPerDEMean->SetMarkerStyle(kFullDotMedium);
- hESDResidualXPerDEMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDResidualXPerDEMean, kESDResidualXPerDEMean, !expert, image);
-
- TH1F* hESDResidualYPerDEMean = new TH1F("hESDResidualYPerDEMean", "cluster-track residual-Y per DE: mean;DetElem ID;<#Delta_{Y}> (cm)", nDE+1, -0.5, nDE+0.5);
- hESDResidualYPerDEMean->SetOption("P");
- hESDResidualYPerDEMean->SetMarkerStyle(kFullDotMedium);
- hESDResidualYPerDEMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDResidualYPerDEMean, kESDResidualYPerDEMean, !expert, image);
-
- TH1F* hESDResidualXPerDESigma = new TH1F("hESDResidualXPerDESigma", "cluster-track residual-X per DE: sigma;DetElem ID;#sigma_{X} (cm)", nDE+1, -0.5, nDE+0.5);
- hESDResidualXPerDESigma->SetOption("P");
- hESDResidualXPerDESigma->SetMarkerStyle(kFullDotMedium);
- hESDResidualXPerDESigma->SetMarkerColor(kRed);
- Add2ESDsList(hESDResidualXPerDESigma, kESDResidualXPerDESigma, !expert, image);
-
- TH1F* hESDResidualYPerDESigma = new TH1F("hESDResidualYPerDESigma", "cluster-track residual-Y per DE: sigma;DetElem ID;#sigma_{Y} (cm)", nDE+1, -0.5, nDE+0.5);
- hESDResidualYPerDESigma->SetOption("P");
- hESDResidualYPerDESigma->SetMarkerStyle(kFullDotMedium);
- hESDResidualYPerDESigma->SetMarkerColor(kRed);
- Add2ESDsList(hESDResidualYPerDESigma, kESDResidualYPerDESigma, !expert, image);
-
- TH1F* hESDLocalChi2XPerDEMean = new TH1F("hESDLocalChi2XPerDE", "local chi2-X per DE: mean;DetElem ID;<local #chi^{2}_{X}>", nDE+1, -0.5, nDE+0.5);
- hESDLocalChi2XPerDEMean->SetOption("P");
- hESDLocalChi2XPerDEMean->SetMarkerStyle(kFullDotMedium);
- hESDLocalChi2XPerDEMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDLocalChi2XPerDEMean, kESDLocalChi2XPerDEMean, !expert, image);
-
- TH1F* hESDLocalChi2YPerDEMean = new TH1F("hESDLocalChi2YPerDE", "local chi2-Y per DE: mean;DetElem ID;<local #chi^{2}_{Y}>", nDE+1, -0.5, nDE+0.5);
- hESDLocalChi2YPerDEMean->SetOption("P");
- hESDLocalChi2YPerDEMean->SetMarkerStyle(kFullDotMedium);
- hESDLocalChi2YPerDEMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDLocalChi2YPerDEMean, kESDLocalChi2YPerDEMean, !expert, image);
-
- TH1F* hESDLocalChi2PerDEMean = new TH1F("hESDLocalChi2PerDE", "local chi2 (~0.5*(#chi^{2}_{X}+#chi^{2}_{Y})) per DE: mean;DetElem ID;<local #chi^{2}>", nDE+1, -0.5, nDE+0.5);
- hESDLocalChi2PerDEMean->SetOption("P");
- hESDLocalChi2PerDEMean->SetMarkerStyle(kFullDotMedium);
- hESDLocalChi2PerDEMean->SetMarkerColor(kRed);
- Add2ESDsList(hESDLocalChi2PerDEMean, kESDLocalChi2PerDEMean, !expert, image);
-
- // intermediate histograms
- TH1F* hESDnTotClustersPerCh = new TH1F("hESDnTotClustersPerCh", "total number of associated clusters per chamber;chamber ID;#Sigma(n_{clusters})", nCh, -0.5, nCh-0.5);
- Add2ESDsList(hESDnTotClustersPerCh, kESDnTotClustersPerCh, expert, !image);
- TH1F* hESDnTotClustersPerDE = new TH1F("hESDnTotClustersPerDE", "total number of associated clusters per DE;DetElem ID;#Sigma(n_{clusters})", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDnTotClustersPerDE, kESDnTotClustersPerDE, expert, !image);
- TH1F* hESDnTotFullClustersPerDE = new TH1F("hESDnTotFullClustersPerDE", "total number of associated clusters containing pad info per DE;DetElem ID;#Sigma(n_{full clusters})", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDnTotFullClustersPerDE, kESDnTotFullClustersPerDE, expert, !image);
- TH1F* hESDSumClusterChargePerDE = new TH1F("hESDSumClusterChargePerDE", "sum of cluster charge per DE;DetElem ID;#Sigma(charge) (fC)", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumClusterChargePerDE, kESDSumClusterChargePerDE, expert, !image);
- TH1F* hESDSumClusterSizePerDE = new TH1F("hESDSumClusterSizePerDE", "sum of cluster size per DE;DetElem ID;#Sigma(size) (n_{pads})", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumClusterSizePerDE, kESDSumClusterSizePerDE, expert, !image);
- TH1F* hESDSumResidualXPerDE = new TH1F("hESDSumResidualXPerDE", "sum of cluster-track residual-X per DE;DetElem ID;#Sigma(#Delta_{X}) (cm)", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumResidualXPerDE, kESDSumResidualXPerDE, expert, !image);
- TH1F* hESDSumResidualYPerDE = new TH1F("hESDSumResidualYPerDE", "sum of cluster-track residual-Y per DE;DetElem ID;#Sigma(#Delta_{Y}) (cm)", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumResidualYPerDE, kESDSumResidualYPerDE, expert, !image);
- TH1F* hESDSumResidualX2PerDE = new TH1F("hESDSumResidualX2PerDE", "sum of cluster-track residual-X**2 per DE;DetElem ID;#Sigma(#Delta_{X}^{2}) (cm^{2})", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumResidualX2PerDE, kESDSumResidualX2PerDE, expert, !image);
- TH1F* hESDSumResidualY2PerDE = new TH1F("hESDSumResidualY2PerDE", "sum of cluster-track residual-Y**2 per DE;DetElem ID;#Sigma(#Delta_{Y}^{2}) (cm^{2})", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumResidualY2PerDE, kESDSumResidualY2PerDE, expert, !image);
- TH1F* hESDSumLocalChi2XPerDE = new TH1F("hESDSumLocalChi2XPerDE", "sum of local chi2-X per DE;DetElem ID;#Sigma(local #chi^{2}_{X})", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumLocalChi2XPerDE, kESDSumLocalChi2XPerDE, expert, !image);
- TH1F* hESDSumLocalChi2YPerDE = new TH1F("hESDSumLocalChi2YPerDE", "sum of local chi2-Y per DE;DetElem ID;#Sigma(local #chi^{2}_{Y})", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumLocalChi2YPerDE, kESDSumLocalChi2YPerDE, expert, !image);
- TH1F* hESDSumLocalChi2PerDE = new TH1F("hESDSumLocalChi2PerDE", "sum of local chi2 (~0.5*(#chi^{2}_{X}+#chi^{2}_{Y})) per DE;DetElem ID;#Sigma(local #chi^{2})", nDE+1, -0.5, nDE+0.5);
- Add2ESDsList(hESDSumLocalChi2PerDE, kESDSumLocalChi2PerDE, expert, !image);