Retrieve basic parameters, mainly four-vectors, for each collection.
get shower variables. Booked in AtlantisJava/event.dtd:
82 {
83
85
87
96
100 DataVect fracs1Vec; fracs1Vec.reserve(photcont->
size());
102
105 DataVect isEMString; isEMString.reserve(photcont->
size());
106
107
108 DataVect clusterKeyVec; clusterKeyVec.reserve(photcont->
size());
109 DataVect clusterIndexVec; clusterIndexVec.reserve(photcont->
size());
110
113
114 int MCdataType = 1;
115 std::string clusterKey = "none";
116 int clusterIndex = -1;
117
118 std::string photonAuthor = "";
119 std::string photonIsEMString = "none";
120 std::string photonLabel = "";
121
122
123
124 for (; photonItr != photonItrE; ++photonItr) {
125 photonIsEMString = "none";
126 photonAuthor =
"author"+
DataType( (*photonItr)->author() ).toString();
127 photonLabel = photonAuthor;
128 if (( (*photonItr)->author()) == 0x0){ photonAuthor = "unknown"; photonLabel += "_unknown"; }
129 if (( (*photonItr)->author()) == 0x8){ photonAuthor = "forward"; photonLabel += "_forward"; }
130 if (( (*photonItr)->author()) == 0x10){ photonAuthor = "rconv"; photonLabel += "_recoveredconversion"; }
131 if (( (*photonItr)->author()) == 0x4){ photonAuthor = "photon"; photonLabel += "_photon"; }
133 photonLabel += "_Loose";
134 photonIsEMString = "Loose";
135 }
137 photonLabel += "_Tight";
138 photonIsEMString = "Tight";
139 }
141 photonLabel += "_LooseAR";
142 }
144 photonLabel += "_TightAR";
145 }
147 photonLabel += "_TightARIso";
148 }
150 photonLabel += "_TightIso";
151 }
152
153 phi.emplace_back((*photonItr)->phi());
154 eta.emplace_back((*photonItr)->eta());
155 pt.emplace_back((*photonItr)->pt()/CLHEP::GeV);
156 mass.emplace_back((*photonItr)->m()/CLHEP::GeV);
157 energy.emplace_back((*photonItr)->e()/CLHEP::GeV );
158 px.emplace_back((*photonItr)->px()/CLHEP::GeV );
159 py.emplace_back((*photonItr)->py()/CLHEP::GeV );
160 pz.emplace_back((*photonItr)->pz()/CLHEP::GeV );
161
162 MCdataType = (*photonItr)->dataType();
163 if (MCdataType != 3){
164 isEM.emplace_back((**photonItr).isem() );
165
166 const ElementLink<CaloClusterContainer> clusterLink = (*photonItr)->clusterElementLink();
168 clusterKey = clusterLink.
dataID();
169 clusterIndex = clusterLink.
index();
170 clusterKeyVec.emplace_back( clusterKey );
171 clusterIndexVec.emplace_back( clusterIndex );
172 } else {
173 clusterKeyVec.emplace_back( "none" );
174 clusterIndexVec.emplace_back( -1 );
175 }
177
178 const EMShower* emShower = (*photonItr)->detail<EMShower>("egDetailAOD");
179 if (emShower) {
184 }else{
185 f1Vec.emplace_back( -1.);
186 etConeVec.emplace_back( -1. );
187 fracs1Vec.emplace_back( -1. );
188 et37Vec.emplace_back( -1.);
189 }
190 } else {
191 isEM.emplace_back( 0 );
192 clusterKeyVec.emplace_back( "none" );
193 clusterIndexVec.emplace_back( -1 );
194 f1Vec.push_back( -1.);
195 etConeVec.emplace_back( -1. );
196 fracs1Vec.emplace_back( -1. );
197 et37Vec.emplace_back( -1. );
198 photonLabel += "_fastSim";
199 photonIsEMString = "fastSim";
200 }
201 author.emplace_back(photonAuthor );
202 label.emplace_back( photonLabel );
203 isEMString.emplace_back( photonIsEMString );
204 }
205
210 DataMap[
"energy"] = std::move(energy);
211 DataMap[
"mass"] = std::move(mass);
215
216
217 DataMap[
"isEM"] = std::move(isEM);
218 DataMap[
"clusterKey"] = std::move(clusterKeyVec);
219 DataMap[
"clusterIndex"] = std::move(clusterIndexVec);
220
221 DataMap[
"f1"] = std::move(f1Vec);
222 DataMap[
"etCone"] = std::move(etConeVec);
223 DataMap[
"fracs1"] = std::move(fracs1Vec);
224 DataMap[
"et37"] = std::move(et37Vec);
225
226 DataMap[
"author"] = std::move(author);
227 DataMap[
"isEMString"] = std::move(isEMString);
229
231
232
233
235
236 }
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
DataModel_detail::const_iterator< DataVector > const_iterator
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
size_type size() const noexcept
Returns the number of elements in the collection.
virtual double parameter(egammaParameters::ParamDef) const
const ID_type & dataID() const
Get the key that we reference, as a string.
index_type index() const
Get the index of the element inside of its container.
bool isValid() const
Test to see if the link can be dereferenced.
virtual std::string dataTypeName() const
Return the name of the data type.
std::string label(const std::string &format, int i)
std::map< std::string, DataVect > DataMap
std::vector< DataType > DataVect
Defines a map with a key and a vector of DataType objects e.g.
const unsigned int PhotonTightAR
Tight photon selection with Ambiguity resolver.
const unsigned int PhotonTightIso
Tight photon selection with isolation.
const unsigned int PhotonTight
Tight photon selection.
const unsigned int PhotonTightARIso
Tight photon selection with isolation and Ambiguity resolver.
const unsigned int PhotonLoose
Loose photon selection.
const unsigned int PhotonLooseAR
Loose photon selection with Ambiguity resolver.
@ e237
uncalibrated energy (sum of cells) of the middle sampling in a rectangle of size 3x7
@ fracs1
shower shape in the shower core : [E(+/-3)-E(+/-1)]/E(+/-1), where E(+/-n) is the energy in +- n stri...
@ f1
E1/E = fraction of energy reconstructed in the first sampling, where E1 is energy in all strips belon...
@ etcone20
ET in a cone with half-opening angle 0.2, with exclusion of a window of size 7x5 in electromagnetic c...