53 if (plane != NULL )plane->
print();
59 Int_t stat = eventselection();
61 fEvt->GetHeader()->SetEvAnaStatus(stat);
81 Int_t nTrX = 0, nTrY = 0;
83 const Int_t nTr = trArray->GetEntries();
85 for(Int_t itr = 0; itr<nTr; itr++){
88 if(plane ==
XPLANE) nTrX++;
89 else if(plane ==
YPLANE) nTrY++;
92 hSigmaRho[plane]->Fill(sigRho);
93 if(sigRho>fSigmaRhoMax){
95 Info(
"eventselection",
"Sigrho = %g", sigRho);
98 hSigmaRhoCut[plane]->Fill(sigRho);
100 hSigmaTheta[plane]->Fill(sigTheta);
101 if(sigTheta>fSigmaThetaMax){
103 Info(
"eventselection",
"Sigtheta = %g", sigTheta);
106 hSigmaThetaCut[plane]->Fill(sigTheta);
108 hAngle[plane]->Fill(angle);
109 if(TMath::Abs(angle)<fThetaMin || TMath::Abs(angle)>fThetaMax){
111 Info(
"eventselection",
"Angle = %g", angle);
114 hAngleCut[plane]->Fill(angle);
117 Info(
"eventselection",
"Sigrho = %g, Sigtheta = %g, Angle = %g", sigRho, sigTheta, angle);
122 if(!(nTrX == 1 && nTrY == 1)){
124 Info(
"eventselection",
"nTrX = %d nTrY = %d",nTrX,nTrY);
135 fSigmaThetaMax = 0.4;
139 Double_t sigmaRhoMax;
140 if( !
gHConfig->
Lookup(
"SelectorStraightTracks.sigmaRhoMax",sigmaRhoMax))
141 Info(
"Constructor",
"Use default sigmaRhoMax %.3g",fSigmaRhoMax);
143 fSigmaRhoMax = sigmaRhoMax;
144 Double_t sigmaThetaMax;
145 if( !
gHConfig->
Lookup(
"SelectorStraightTracks.sigmaThetaMax",sigmaThetaMax))
146 Info(
"Constructor",
"Use default sigmaThetaMax %.3g",fSigmaThetaMax);
148 fSigmaThetaMax = sigmaThetaMax;
150 if( !
gHConfig->
Lookup(
"SelectorStraightTracks.thetaMax",thetaMax))
151 Info(
"Constructor",
"Use default thetaMax %.3g",fThetaMax);
153 fThetaMax = thetaMax;
155 if( !
gHConfig->
Lookup(
"SelectorStraightTracks.thetaMin",thetaMin))
156 Info(
"Constructor",
"Use default thetaMin %.3g",fThetaMin);
158 fThetaMin = thetaMin;
160 hAngle[0] =
new TH1F(
"hAngleX",
";#theta",200,-TMath::Pi(),TMath::Pi());
161 hAngleCut[0] =
new TH1F(
"hAngleCutX",
";#theta",200,-TMath::Pi(),TMath::Pi());
162 hSigmaRho[0] =
new TH1F(
"hSigmaRhoX",
";#sigma_{#rho}",200,0,50);
163 hSigmaRhoCut[0] =
new TH1F(
"hSigmaRhoCutX",
";#sigma_{#rho}",200,0,50);
164 hSigmaTheta[0] =
new TH1F(
"hSigmaThetaX",
";#sigma_{#theta}",200,0,TMath::Pi());
165 hSigmaThetaCut[0] =
new TH1F(
"hSigmaThetaCutX",
";#sigma_{#theta}",200,0,TMath::Pi());
166 hAngle[1] =
new TH1F(
"hAngleY",
";#theta",200,-TMath::Pi(),TMath::Pi());
167 hAngleCut[1] =
new TH1F(
"hAngleCutY",
";#theta",200,-TMath::Pi(),TMath::Pi());
168 hSigmaRho[1] =
new TH1F(
"hSigmaRhoY",
";#sigma_{#rho}",200,0,50);
169 hSigmaRhoCut[1] =
new TH1F(
"hSigmaRhoCutY",
";#sigma_{#rho}",200,0,50);
170 hSigmaTheta[1] =
new TH1F(
"hSigmaThetaY",
";#sigma_{#theta}",200,0,TMath::Pi());
171 hSigmaThetaCut[1] =
new TH1F(
"hSigmaThetaCutY",
";#sigma_{#theta}",200,0,TMath::Pi());
178 Info(
"Save",
"N selected events = %ld",nEvents);
183 for(Int_t plane = 0; plane<2; plane++){
184 hAngle[plane]->Write();
185 hAngleCut[plane]->Write();
186 hSigmaRho[plane]->Write();
187 hSigmaRhoCut[plane]->Write();
188 hSigmaTheta[plane]->Write();
189 hSigmaThetaCut[plane]->Write();
void Save(char *mode=NULL)
TClonesArray * GetHoughTracksArray()
Object containing the reconstruction information for one event (with array of HarpoRecoClusters Harpo...
Dummy analysis to run as test and example. Give basic histograms of the data.
Int_t eventselection()
Redefine empty default.
unpacked dcc data The class contains the data map for DCC or Feminos The data is stored as a 2D TMatr...
Bool_t Lookup(const char *path, Bool_t &val)
Lookup function for scalar values.
void print()
Overloaded method which do all job.
const ULong_t gkNDetectors
HarpoRecoTracks object, obtained with Hough tracking method.